`
freemenff
  • 浏览: 34212 次
  • 性别: Icon_minigender_1
  • 来自: 济南
社区版块
存档分类
最新评论

WebService客户端调用不写javabean直接用String的方法

 
阅读更多
1、Axis1.4 传输用SOAPBodyElement解析用Vector
参考url:http://www.blogjava.net/robin/archive/2006/01/02/26385.html

Service service = new Service();   
Call call = new Call(service);
String endpoint = "http://127.0.0.1:80/XXXX/services/HelloService";
call.setTargetEndpointAddress(new java.net.URL(endpoint));
String namespace = "http://xxx.xxxx.com/webservice";
String method = "methodA";
call.setSOAPActionURI(method);
call.setOperationName(method);
call.setProperty(Call.OPERATION_STYLE_PROPERTY, Style.DOCUMENT.getName());
call.setPortName(new QName(namespace, "HelloServicePort"));
call.setPortTypeName(new QName(namespace, "HelloServicePortType"));
InputStream in = new ByteArrayInputStream(aaa.getBytes());
Object[] obj = new Object[] { new SOAPBodyElement(in) };
Vector result = (Vector)call.invoke(obj);
SOAPBodyElement element = (SOAPBodyElement) result.get(0);



2、Axis2.0 传输解析都是OMElement

参考自axis2官网样例quickstartaxiom

String reqXml="<?xml version=\"1.0\" encoding=\"UTF-8\"?>XXXXX";
String xmlNamespace = "http://xxx.xxxx.com/webservice";
String xmlMethod = "methodA";
String xmlHead = "methodARequest";
String intUrl = "http://127.0.0.1:80/xxxxxx/services/HelloService";
String encoding = "UTF-8";    	
EndpointReference targetEPR = new EndpointReference(intUrl);
OMFactory fac = OMAbstractFactory.getOMFactory();
//前缀prefix必须设置空串
OMNamespace ns = fac.createOMNamespace(xmlNamespace, "");
//请求对象
OMElement requestElement = fac.createOMElement(xmlHead, ns);
//报文
OMElement value = toOMElement(reqXml, encoding);
requestElement.addChild(value);
    	
Options options = new Options();
ServiceClient client = new ServiceClient();
//options.setTimeOutInMilliSeconds(60000L);
options.setTo(targetEPR);
options.setAction(xmlMethod);
client.setOptions(options);
        
//调用服务端
OMElement result = client.sendReceive(requestElement);
//这个result带命名空间,但不带xml声明
System.out.println("result : " + result.toString());

public static OMElement toOMElement(String xmlStr, String encoding) {
OMElement xmlValue;
try {
    xmlValue = new StAXOMBuilder(new ByteArrayInputStream(xmlStr
    .getBytes(encoding))).getDocumentElement();
    return xmlValue;
}catch (Exception e) {
    return null;
}
}
分享到:
评论

相关推荐

    jax-ws_webservice客户端调用程序演示

    调试环境:mycelipse10+tomcat7 包含调用简单数据类型,List&lt;String&gt;类型,下载javabean对象,上传图像文件,上传javabean复杂数据对象等5个代码例子。 调试环境的配置,网上很多文章都写了。

    java 调用webservice的几种方法总结

    Java 调用 Webservice 的几种方法总结中,主要介绍了使用 JDK Web 服务 API、Axis 和 XFire 等方法来调用 Webservice。下面将对每种方法进行详细的介绍。 使用 JDK Web 服务 API 使用 JDK Web 服务 API 可以实现...

    Eclipse下JavaBean开发WebService

    总结,Eclipse环境下使用JavaBean开发WebService涉及的主要技术有JavaBean规范、JAX-WS、WSDL和Servlet容器。通过这种方式,我们可以快速地构建服务端和客户端,实现数据交换和功能调用。这种开发模式在分布式系统和...

    java调用webservice的各种方法总结

    ### Java调用WebService的各种方法详解 #### 一、利用JDK Web Service API实现 通过Java标准库中的WebService API,可以直接创建并发布一个简单的WebService。这种方式适用于那些希望避免引入额外依赖的场景。 ##...

    java调用webservice方法总结

    本文将对两种主要的Java调用WebService的方法进行总结。 **一、使用JDK Web服务API** 1. **创建WebService端点**: 首先,你需要定义一个@WebService注解的类,包含@WebMethod注解的方法。这个类就是你的服务接口,...

    javabean和xml互相转换工具类以及jar包

    - **DOM解析**:解析XML文档,创建一个Document对象,然后遍历XML节点,调用JavaBean的setter方法设置属性值。 - **SAX(Simple API for XML)**:非回溯事件驱动的解析方式,根据XML事件调用相应的处理函数,逐个...

    java_调用Webservice接口.pdf

    Java 调用 Webservice 接口是指使用 Java 语言来调用 Webservice 接口,以实现不同的应用程序之间的交互和集成。 一、使用 JDK Web 服务 API 实现 Webservice 使用 JDK Web 服务 API 可以实现 Webservice 的创建和...

    java调用webservice的各种方法总结[整理].pdf

    本文主要探讨了两种在Java中调用WebService的方法:基于JDK的Web服务API和使用XFire框架。 一、利用JDK Web服务API实现 1. 创建Web服务Endpoint:通过在Java类上使用`@WebService`注解,声明它为一个Web服务,再...

    java调用webservice.pdf

    本文主要介绍两种方法来实现Java调用WebService:一种是使用JDK的Web服务API,另一种是利用XFire框架。 **一、使用JDK Web服务API** 1. **创建Web服务Endpoint** 在Java中,你可以使用`@WebService`注解标记一个...

    java-调用Webservice接口.pdf

    本文将详细介绍两种在Java中调用WebService的方法。 ### 方法一:使用JDK Web服务API JDK提供了基本的Web服务支持,可以创建和消费SOAP消息的Web服务。以下是通过JDK API调用WebService的步骤: 1. **创建Web服务...

    java调用webservice(20211103125800).pdf

    本文将详细介绍如何在Java中调用WebService,并提供两种不同的实现方法。 一、使用JDK Web服务API实现 1. 创建Web服务端点(Endpoint): 通过在Java类上使用@WebService和@WebMethod注解,可以创建一个简单的Web...

    学习java调用Webservice接口.pdf

    客户端代码的生成和调用通常比使用JDK API更为直观。 这两种方法各有优缺点。使用JDK API更基础,适用于简单的服务,而XFire则提供了更多功能和便利性,适合更复杂的应用场景。选择哪种方法取决于项目需求和开发者...

    webservice-java_soap.pdf

    根据提供的文档内容,本文主要介绍了如何在WebService中利用Java SOAP技术处理复杂的Java数据类型,特别是数组及JavaBean等。文章通过具体的示例讲解了如何创建一个可以处理股票交易量的服务,并详细介绍了服务端的...

    java调用webService的各种方法[文].pdf

    本文将详细介绍两种常见的Java调用Web Service的方法:使用JDK Web服务API和使用XFire框架。 ### 一、利用JDK Web服务API实现 #### 1. 创建Web服务Endpoint 首先,你需要创建一个Java类,该类使用`@WebService`...

Global site tag (gtag.js) - Google Analytics