webservice wsdl接口配置与调用
准备包
WebRoot/WEB-INF/lib/axis2-adb-1.6.2.jar
WebRoot/WEB-INF/lib/axis2-ant-plugin-1.6.2.jar
WebRoot/WEB-INF/lib/axis2-clustering-1.6.2.jar
WebRoot/WEB-INF/lib/axis2-codegen-1.6.2.jar
WebRoot/WEB-INF/lib/axis2-corba-1.6.2.jar
WebRoot/WEB-INF/lib/axis2-fastinfoset-1.6.2.jar
WebRoot/WEB-INF/lib/axis2-java2wsdl-1.6.2.jar
WebRoot/WEB-INF/lib/axis2-jaxbri-1.6.2.jar
WebRoot/WEB-INF/lib/axis2-jaxws-1.6.2.jar
WebRoot/WEB-INF/lib/axis2-jibx-1.6.2.jar
WebRoot/WEB-INF/lib/axis2-json-1.6.2.jar
WebRoot/WEB-INF/lib/axis2-kernel-1.6.2.jar
WebRoot/WEB-INF/lib/axis2-metadata-1.6.2.jar
WebRoot/WEB-INF/lib/axis2-mtompolicy-1.6.2.jar
WebRoot/WEB-INF/lib/axis2-saaj-1.6.2.jar
WebRoot/WEB-INF/lib/axis2-spring-1.6.2.jar
WebRoot/WEB-INF/lib/axis2-transport-http-1.6.2.jar
WebRoot/WEB-INF/lib/axis2-transport-local-1.6.2.jar
WebRoot/WEB-INF/lib/axis2-xmlbeans-1.6.2.jar
WebRoot/WEB-INF/lib/wstx-asl-3.2.9.jar
WSDL 接口java文件
package com.neusoft.ermsuite.css.ws.svac.bangjia;
public class BangJiaOrder {
public String doService(String aa){
System.out.println(aa);
return aa;
}
}
service.xml配置接口描述
<service name="BangJiaOrder">
<description>
BangJiaOrder
</description>
<messageReceivers>
<messageReceiver mep="http://www.w3.org/2004/08/wsdl/in-only"
class="org.apache.axis2.rpc.receivers.RPCInOnlyMessageReceiver" />
<messageReceiver mep="http://www.w3.org/2004/08/wsdl/in-out"
class="org.apache.axis2.rpc.receivers.RPCMessageReceiver" />
</messageReceivers>
<parameter name="ServiceClass">com.neusoft.ermsuite.css.ws.svac.bangjia.BangJiaOrder
</parameter>
</service>
启动tomcat,输入查看接口是否发布成功
http://localhost:8080/项目名/services/BangJiaOrder?wsdl
成功后有下面xml显示
<?xml version="1.0" encoding="UTF-8" ?>
- <wsdl:definitions xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" xmlns:ns1="http://org.apache.axis2/xsd" xmlns:ns="http://bangjia.svac.ws.css.ermsuite.neusoft.com" xmlns:wsaw="http://www.w3.org/2006/05/addressing/wsdl" xmlns:http="http://schemas.xmlsoap.org/wsdl/http/" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:mime="http://schemas.xmlsoap.org/wsdl/mime/" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:soap12="http://schemas.xmlsoap.org/wsdl/soap12/" targetNamespace="http://bangjia.svac.ws.css.ermsuite.neusoft.com">
<wsdl:documentation>BangJiaOrder</wsdl:documentation>
- <wsdl:types>
- <xs:schema attributeFormDefault="qualified" elementFormDefault="qualified" targetNamespace="http://bangjia.svac.ws.css.ermsuite.neusoft.com">
- <xs:element name="doService">
- <xs:complexType>
- <xs:sequence>
<xs:element minOccurs="0" name="aa" nillable="true" type="xs:string" />
</xs:sequence>
</xs:complexType>
</xs:element>
- <xs:element name="doServiceResponse">
- <xs:complexType>
- <xs:sequence>
<xs:element minOccurs="0" name="return" nillable="true" type="xs:string" />
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:schema>
</wsdl:types>
- <wsdl:message name="doServiceRequest">
<wsdl:part name="parameters" element="ns:doService" />
</wsdl:message>
- <wsdl:message name="doServiceResponse">
<wsdl:part name="parameters" element="ns:doServiceResponse" />
</wsdl:message>
- <wsdl:portType name="BangJiaOrderPortType">
- <wsdl:operation name="doService">
<wsdl:input message="ns:doServiceRequest" wsaw:Action="urn:doService" />
<wsdl:output message="ns:doServiceResponse" wsaw:Action="urn:doServiceResponse" />
</wsdl:operation>
</wsdl:portType>
- <wsdl:binding name="BangJiaOrderSoap11Binding" type="ns:BangJiaOrderPortType">
<soap:binding transport="http://schemas.xmlsoap.org/soap/http" style="document" />
- <wsdl:operation name="doService">
<soap:operation soapAction="urn:doService" style="document" />
- <wsdl:input>
<soap:body use="literal" />
</wsdl:input>
- <wsdl:output>
<soap:body use="literal" />
</wsdl:output>
</wsdl:operation>
</wsdl:binding>
- <wsdl:binding name="BangJiaOrderSoap12Binding" type="ns:BangJiaOrderPortType">
<soap12:binding transport="http://schemas.xmlsoap.org/soap/http" style="document" />
- <wsdl:operation name="doService">
<soap12:operation soapAction="urn:doService" style="document" />
- <wsdl:input>
<soap12:body use="literal" />
</wsdl:input>
- <wsdl:output>
<soap12:body use="literal" />
</wsdl:output>
</wsdl:operation>
</wsdl:binding>
- <wsdl:binding name="BangJiaOrderHttpBinding" type="ns:BangJiaOrderPortType">
<http:binding verb="POST" />
- <wsdl:operation name="doService">
<http:operation location="doService" />
- <wsdl:input>
<mime:content type="application/xml" part="parameters" />
</wsdl:input>
- <wsdl:output>
<mime:content type="application/xml" part="parameters" />
</wsdl:output>
</wsdl:operation>
</wsdl:binding>
- <wsdl:service name="BangJiaOrder">
- <wsdl:port name="BangJiaOrderHttpSoap11Endpoint" binding="ns:BangJiaOrderSoap11Binding">
<soap:address location="http://localhost:8080/项目名/services/BangJiaOrder.BangJiaOrderHttpSoap11Endpoint/" />
</wsdl:port>
- <wsdl:port name="BangJiaOrderHttpSoap12Endpoint" binding="ns:BangJiaOrderSoap12Binding">
<soap12:address location="http://localhost:8080/项目名/services/BangJiaOrder.BangJiaOrderHttpSoap12Endpoint/" />
</wsdl:port>
- <wsdl:port name="BangJiaOrderHttpEndpoint" binding="ns:BangJiaOrderHttpBinding">
<http:address location="http://localhost:8080/项目名/services/BangJiaOrder.BangJiaOrderHttpEndpoint/" />
</wsdl:port>
</wsdl:service>
</wsdl:definitions>
调用webservice wsdl
package com.neusoft.ermsuite.css.sv.svac.svrequest.bo; import javax.xml.namespace.QName; import org.apache.axis2.AxisFault;
import org.apache.axis2.addressing.EndpointReference;
import org.apache.axis2.client.Options;
import org.apache.axis2.rpc.client.RPCServiceClient; public class test { public static void main(String[] args) throws AxisFault {
// 使用RPC方式调用WebService
RPCServiceClient sc = new RPCServiceClient();
Options options = sc.getOptions(); // 指定调用WebService的URL
EndpointReference targetErp = new EndpointReference("http://localhost:8080/项目名/services/BangJiaOrder");
options.setTo(targetErp); // 指定getGreeting方法的参数值
Object[] opAddEntryArgs = new Object[] { "Test 1.0" }; // 指定doService方法返回值的数据类型的Class对象
Class[] classes = new Class[] { String.class }; // 指定要调用的doService方法及WSDL文件的命名空间
QName opAddEntry = new QName("http://bangjia.svac.ws.css.ermsuite.neusoft.com", "doService");
sc.getOptions().setTimeOutInMilliSeconds(600000L);
// 调用doService方法并输出该方法的返回值
System.out.println(sc.invokeBlocking(opAddEntry, opAddEntryArgs, classes)[0]);
// 下面是调用getPrice 方法的代码,这些代码与调用getGreeting方法的代码类似
// classes = new Class[] {int.class};
// opAddEntry = new QName("http://ws.apache.org/axis2", "getPrice");
// System.out.println(sc.invokeBlocking(opAddEntry, new Object[] {}, classes)[0]); }
}
QName opAddEntry = new QName("http://bangjia.svac.ws.css.ermsuite.neusoft.com", "doService");
注意
"http://bangjia.svac.ws.css.ermsuite.neusoft.com"是在浏览器查看xml时可以看到的
targetNamespace="http://bangjia.svac.ws.css.ermsuite.neusoft.com"
webservice wsdl接口配置与调用的更多相关文章
- PHP调用webService WSDL 接口发送邮件
1.什么是 webService WSDL? webService WSDL 暴露一些接口给第三方调用,在底层会转化成一个HTTP请求,主要是不同语言之间为了通讯的一个协议,比如发送邮件的系统是用J ...
- java 调用wsdl的webservice接口 两种调用方式
关于wsdl接口对于我来说是比较头疼的 基本没搞过.一脸懵 就在网上搜 看着写的都很好到我这就不好使了,非常蓝瘦.谨以此随笔纪念我这半个月踩过的坑... 背景:短短两周除了普通开发外我就接到了两个we ...
- 利用JavaScriptSOAPClient直接调用webService --完整的前后台配置与调用示例
JavaScriptSoapClient下载地址:https://archive.codeplex.com/?p=javascriptsoapclient JavaScriptSoapClient的D ...
- [Java] java调用wsdl接口
前提: ① 已经提供了一个wsdl接口 ② 该接口能正常调用 步骤1:使用cxf的wsdl2java工具生成本地类 下载CXF:http://cxf.apache.org/download.html ...
- 分享:根据webservice WSDL地址自动生成java调用代码及JAR包
分享:根据webservice WSDL地址自动生成java调用代码及JAR包使用步骤:一.安装java 并配置JAVA_HOME 及 path二.安装ANT 并配置ANT_HOME三.解压WsdlT ...
- loadrunner做webservice接口之简单调用
今天听大神讲了webservice做接口,我按照他大概讲的意思自己模拟实战了下,可能还有很多不对,一般使用webservice做接口,会使用到soapui,但是用了loadrunner以后发现lr很快 ...
- Java WebService接口生成和调用 图文详解>【转】【待调整】
webservice简介: Web Service技术, 能使得运行在不同机器上的不同应用无须借助附加的.专门的第三方软件或硬件, 就可相互交换数据或集成.依据Web Service规范实施的应用之间 ...
- java-webService(调用wsdl接口)
使用Axis或XFire实现WebService: Axis2是Apache下的一个重量级WebService框架,准确说它是一个Web Services / SOAP / WSDL 的引擎,是Web ...
- C# 不添加WEB引用调用WSDL接口
在项目中添加WEB引用耦合度较高,更新时要更新引用,所以我建议不添加WEB引用调用WSDL接口,废话不多说,直接上代码 例如WSDL地址为:http://XXX.XX.XXX.XXX:9115/WsP ...
随机推荐
- 用CorelDRAW等分分割图片的方法
在CorelDRAW中,想要将图片等分分割可以通过放置容器来实现,根本不需要裁剪工具和辅助线.例如两等分:首先要建立确定等分的份数,建立长方形或正方形.然后把图片放置容器,调整位置,做无缝拼接就可以了 ...
- 安装sql2008的时候选择的是Windows身份验证,现在我想用sql server身份验证,我应该到哪儿设置呢
本文档整理自网络,存粹用作笔记. 安装过程中,SQL Server 数据库引擎可以设置为 Windows 身份验证模式或 SQL Server 和 Windows 身份验证模式. 本文介绍如何在安装后 ...
- Beta版本冲刺——day3
No Bug 031402401鲍亮 031402402曹鑫杰 031402403常松 031402412林淋 031402418汪培侨 031402426许秋鑫 站立式会议 大将回归,基本功能接口也 ...
- 将yyyyMMdd,dd/MM/yyyy 类型字符串转换为datetime 类型 yyyy-MM-dd C#
DateTime ConvertDate = DateTime.ParseExact(", "yyyyMMdd", null, System.Globalization. ...
- Linux的一些常用快捷键和基本命令
*******1.在Linux中,只有/能够当盘符,/首先要分配给系统盘所在分区*******2.swap交换分区,相当于Windows下的虚拟内存,用来模拟内存,当内存不够用时,就会使用交换分区.其 ...
- 说说Web.Config与App.Config
说到web.config和app.config大家都很熟悉,我们都叫他们配置文件,平时用的多,注意的少.两个有啥区别呢,很简单,一句话:如果是web程序,如webform项目类型和mvc项目类型就是w ...
- 添加Web引用
- 感知器、逻辑回归和SVM的求解
这篇文章将介绍感知器.逻辑回归的求解和SVM的部分求解,包含部分的证明.本文章涉及的一些基础知识,已经在<梯度下降.牛顿法和拉格朗日对偶性>中指出,而这里要解决的问题,来自<从感知器 ...
- 如何消除移动端a标签点击时的蓝色底色以及a标签link、visited、hover、active的顺序
1.消除a标签移动端点击时的蓝色底色 -webkit-tap-highlight-color:transparent 2.link.visited.hover.active的顺序 a:link{tex ...
- socket listen参数中的backlog 的意义!
服务器监听时,在每次处理一个客户端的连接时是需要一定时间的,这个时间非常的短(也许只有1ms 或者还不到),但这个时间还是存在的.而这个backlog 存在的意义就是:在这段时间里面除了第一个连接请求 ...