我写了一个java调用.net web services,.net 返回的是一个xml document,我曾经采用axis来自动生成客户端的形式成功调用过,但是axis自动生成的代码可读性奇差,简直惨不忍睹。
所以我想有没有什么简化操作,自己做了点尝试,发现返回类型转换总是不成功,谁能,不胜感激!
import javax.xml.namespace.QName;
import org.apache.axis.client.Call;
import org.apache.axis.client.Service;
import org.w3c.dom.Document;
/**
* @author Liujj
* Date 2007-1-18 <br>
* Description: <br>
* TestUserService
*/
public class TestUserService {
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
try {
// String wsdlUrl = "http://192.168.5.149/Centralism_XH10/webservice/UserService.asmx?op=getUserInfo";
// String nameSpaceUri = "http://192.168.5.149/Centralism_XH10/webservice/UserService.asmx";
String wsdlUrl = "http://192.168.5.149/Centralism_XH10/webservice/UserService.asmx?op=getUserInfo";
String soapActionURI = "http://research.beyondbit.com/Centralism/getUserInfo";
// 创建调用对象
Service service = new Service();
Call call = (Call) service.createCall();
// 调用getUserInfo
System.out.println(">>>getUserInfo");
//xmlns
call.setOperationName(new QName("http://research.beyondbit.com/Centralism", "getUserInfo"));
call.setTargetEndpointAddress(new java.net.URL(wsdlUrl));
//parameter & return
call.addParameter("ldapStr", org.apache.axis.encoding.XMLType.XSD_STRING,
javax.xml.rpc.ParameterMode.IN);
call.addParameter("attrNames", org.apache.axis.encoding.XMLType.XSD_STRING,
javax.xml.rpc.ParameterMode.IN);
call.setReturnType(org.apache.axis.encoding.XMLType.XSD_ANY);
//set soap action
call.setUseSOAPAction(true);
call.setSOAPActionURI(soapActionURI);
//call
String ret = (String) call.invoke(new Object[] { "d61b29051cd534458c0cdd16bdab77aa" , "" });
System.out.println("return value is " + ret);
} catch (Exception e) {
e.printStackTrace();
}
}
}
分享到:
- 2007-01-23 14:49
- 浏览 5033
- 评论(4)
- 论坛回复 / 浏览 (4 / 9934)
- 查看更多
相关推荐
《2001_Programming Web Services with XML-RPC》是一本关于基于XML-RPC技术进行Web服务编程的书籍。该书由Simon St. Laurent、Joe Johnston和Edd Dumbill合著,并于2001年6月由O'Reilly出版社出版。本书共有230页,...
要调用Web Service并传递XML数据,可以使用`SoapHttpClientProtocol`类的派生类。以下代码展示了如何调用上面创建的Web Service接口: ```csharp using System.Net; using System.IO; using System.Xml; ...
标题中的“WebServices服务接口调用---用document方式应用”指的是使用XML文档作为消息交换格式来调用Web服务接口的一种方法。 在Web服务中,有两种主要的消息交换模式:RPC(Remote Procedure Call)风格和...
4. **调用WebService**:在.NET环境中,可以通过`System.Web.Services.Protocols.SoapHttpClientProtocol`类或者更简单的Web Reference(在.NET Framework 4.0之后被WCF取代)来调用WebService。这里提到的`Ajax....
4. **XML和SOAP协议理解**:由于WebServices通常基于XML和SOAP协议进行通信,因此对这些协议的理解也是不可或缺的。正确解析和构造XML/SOAP请求及响应,是动态调用成功的关键之一。 ### 总结 通过本文的探讨,我们...
在.NET环境中,有XmlDocument、XmlNode等类来处理XML。 5. **调用Web Service**:完成XML拼接后,客户端需要通过HTTP(POST请求)将XML发送到Web Service的URL。这通常可以通过HTTP客户端库实现,如Java的...
SOAP是基于XML的消息传递协议,用于在Web上交换结构化的信息。WSDL是定义Web服务接口的XML格式,描述了服务的位置、使用的消息协议以及提供的操作。UDDI是一种目录服务,用于发布和查找Web服务。 Java中实现Web服务...
2. **WSDL(Web Services Description Language)**:WSDL是一种XML格式,用于定义Web服务的接口,包括服务的位置、操作方法、输入和输出消息的结构等。开发者可以使用WSDL文档来描述SOAP消息的结构和调用方式,使得...
Web服务是一种基于网络的、平台无关的交互方式,它允许不同的系统...O'Reilly的"Programming Web Services with SOAP"可能涵盖了这些主题的深入讨论,包括实践示例和最佳实践,帮助读者掌握SOAP Web服务的开发和应用。
在Web服务领域,WSDL(Web Services Description Language)使用XML来定义服务接口,包括其操作、消息格式以及如何调用这些服务。这样,不同平台和语言的系统可以通过SOAP和XML进行通信,实现跨平台的数据交换。 ...
此外,XML还与SOAP(Simple Object Access Protocol)和RESTful Web Services紧密相关。SOAP是一种基于XML的消息传递协议,常用于分布式系统间的通信。而REST(Representational State Transfer)是一种轻量级的架构...
在IT领域,Web Services是一种基于互联网的标准,允许应用程序之间交换数据和服务。随着Web Services的广泛应用,Oracle也提供了相应的技术支持,让开发人员能够通过PL/SQL直接调用Web Services。这篇文章主要探讨...
Java平台提供了丰富的APIs来支持XML的处理,包括JAXP(Java API for XML Processing)、SAX(Simple API for XML)、DOM(Document Object Model)以及XSLT(Extensible Stylesheet Language Transformations)等,...
XML还被广泛用于Web服务,如SOAP(Simple Object Access Protocol)和RESTful服务,它们通过XML消息传递数据。SOAP基于WSDL(Web Services Description Language)定义服务接口,而RESTful服务则依赖于HTTP协议,...
ASP.NET提供了System.Xml命名空间,包含了大量处理XML文档的类,如XmlDocument、XmlNode、XmlElement等。这些类允许开发者创建、读取、修改和保存XML文档。例如,使用XmlDocument类可以加载XML文件,通过SelectNodes...
- 常用类包括但不限于`XmlDocument`, `XmlElement`, `XmlNode`等。 #### 6. Web Service - **定义**: Web Service是一种通过网络提供服务的技术,允许不同的应用程序之间进行通信。 - **特点**: - 跨平台: 不同...
在Java中,我们通常使用Apache CXF或JAX-WS(Java API for XML Web Services)框架来创建和调用Web服务。以下是一个简单的步骤概览: 1. **添加依赖**:首先,确保你的项目包含相应的库,如Apache CXF或JAX-WS的JAR...
在Web服务中,SOAP(Simple Object Access Protocol)和WSDL(Web Services Description Language)常常与XML一起使用。SOAP是一种基于XML的消息协议,用于在不同应用之间传递信息;WSDL是XML格式的文件,描述了Web...