??
使用SoapUI创建WebService接口模拟服务端需要接口描述文件
MathUtil.wsdl:
- <?xml?version="1.0"?encoding="UTF-8"?>??
- <wsdl:definitions?targetNamespace="http://sean.com"???
- ????????xmlns:apachesoap="http://xml.apache.org/xml-soap"???
- ????????xmlns:impl="http://sean.com"???
- ????????xmlns:intf="http://sean.com"???
- ????????xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"???
- ????????xmlns:wsdlsoap="http://schemas.xmlsoap.org/wsdl/soap/"???
- ????????xmlns:xsd="http://www.w3.org/2001/XMLSchema">??
- ?<wsdl:types>??
- ??<schema?elementFormDefault="qualified"???
- ????????targetNamespace="http://sean.com"???
- ????????xmlns="http://www.w3.org/2001/XMLSchema">??
- ???<element?name="add">??
- ????<complexType>??
- ?????<sequence>??
- ??????<element?name="x"?type="xsd:int"/>??
- ??????<element?name="y"?type="xsd:int"/>??
- ?????</sequence>??
- ????</complexType>??
- ???</element>??
- ???<element?name="addResponse">??
- ????<complexType>??
- ?????<sequence>??
- ??????<element?name="addReturn"?type="xsd:int"/>??
- ?????</sequence>??
- ????</complexType>??
- ???</element>??
- ??</schema>??
- ?</wsdl:types>??
- ???<wsdl:message?name="addResponse">??
- ??????<wsdl:part?element="impl:addResponse"?name="parameters">??
- ??????</wsdl:part>??
- ???</wsdl:message>??
- ???<wsdl:message?name="addRequest">??
- ??????<wsdl:part?element="impl:add"?name="parameters">??
- ??????</wsdl:part>??
- ???</wsdl:message>??
- ???<wsdl:portType?name="MathUtil">??
- ??????<wsdl:operation?name="add">??
- ?????????<wsdl:input?message="impl:addRequest"?name="addRequest">??
- ???????</wsdl:input>??
- ?????????<wsdl:output?message="impl:addResponse"?name="addResponse">??
- ???????</wsdl:output>??
- ??????</wsdl:operation>??
- ???</wsdl:portType>??
- ???<wsdl:binding?name="MathUtilSoapBinding"?type="impl:MathUtil">??
- ??????<wsdlsoap:binding?style="document"??
- ????????????transport="http://schemas.xmlsoap.org/soap/http"/>??
- ??????<wsdl:operation?name="add">??
- ?????????<wsdlsoap:operation?soapAction=""/>??
- ?????????<wsdl:input?name="addRequest">??
- ????????????<wsdlsoap:body?use="literal"/>??
- ?????????</wsdl:input>??
- ?????????<wsdl:output?name="addResponse">??
- ????????????<wsdlsoap:body?use="literal"/>??
- ?????????</wsdl:output>??
- ??????</wsdl:operation>??
- ???</wsdl:binding>??
- ???<wsdl:service?name="MathUtilService">??
- ??????<wsdl:port?binding="impl:MathUtilSoapBinding"?name="MathUtil">??
- ?????????<wsdlsoap:address???
- ????????????????location="http://localhost:8080/webservice_create/services/MathUtil"/>??
- ??????</wsdl:port>??
- ???</wsdl:service>??
- </wsdl:definitions>??

<?xml version="1.0" encoding="UTF-8"?>
<wsdl:definitions targetNamespace="http://sean.com"
xmlns:apachesoap="http://xml.apache.org/xml-soap"
xmlns:impl="http://sean.com"
xmlns:intf="http://sean.com"
xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"
xmlns:wsdlsoap="http://schemas.xmlsoap.org/wsdl/soap/"
xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<wsdl:types>
<schema elementFormDefault="qualified"
targetNamespace="http://sean.com"
xmlns="http://www.w3.org/2001/XMLSchema">
<element name="add">
<complexType>
<sequence>
<element name="x" type="xsd:int"/>
<element name="y" type="xsd:int"/>
</sequence>
</complexType>
</element>
<element name="addResponse">
<complexType>
<sequence>
<element name="addReturn" type="xsd:int"/>
</sequence>
</complexType>
</element>
</schema>
</wsdl:types>
<wsdl:message name="addResponse">
<wsdl:part element="impl:addResponse" name="parameters">
</wsdl:part>
</wsdl:message>
<wsdl:message name="addRequest">
<wsdl:part element="impl:add" name="parameters">
</wsdl:part>
</wsdl:message>
<wsdl:portType name="MathUtil">
<wsdl:operation name="add">
<wsdl:input message="impl:addRequest" name="addRequest">
</wsdl:input>
<wsdl:output message="impl:addResponse" name="addResponse">
</wsdl:output>
</wsdl:operation>
</wsdl:portType>
<wsdl:binding name="MathUtilSoapBinding" type="impl:MathUtil">
<wsdlsoap:binding style="document"
transport="http://schemas.xmlsoap.org/soap/http"/>
<wsdl:operation name="add">
<wsdlsoap:operation soapAction=""/>
<wsdl:input name="addRequest">
<wsdlsoap:body use="literal"/>
</wsdl:input>
<wsdl:output name="addResponse">
<wsdlsoap:body use="literal"/>
</wsdl:output>
</wsdl:operation>
</wsdl:binding>
<wsdl:service name="MathUtilService">
<wsdl:port binding="impl:MathUtilSoapBinding" name="MathUtil">
<wsdlsoap:address
location="http://localhost:8080/webservice_create/services/MathUtil"/>
</wsdl:port>
</wsdl:service>
</wsdl:definitions>
通过MathUtil.wsdl文件在SoapUI中创建一个SOAP项目:


确认后,会在新建的SOAP项目下自动生成模拟客户端
在模拟客户端的基础上创建一个接口模拟服务端(Mock Service):


双击Response1可以设置接口服务端返回值:

返回值默认为"?",一定要进行修改,否则调用该接口时会报错
[plain]
view plain
copy
print
?
- AxisFault??
- ?faultCode:?{http://schemas.xmlsoap.org/soap/envelope/}Server.userException??
- ?faultSubcode:???
- ?faultString:?java.lang.NumberFormatException:?For?input?string:?"?"??
- ?faultActor:???
- ?faultNode:???
- ?faultDetail:???
- ????{http://xml.apache.org/axis/}stackTrace:java.lang.NumberFormatException:?For?input?string:?"?"??
AxisFault
faultCode: {http://schemas.xmlsoap.org/soap/envelope/}Server.userException
faultSubcode:
faultString: java.lang.NumberFormatException: For input string: "?"
faultActor:
faultNode:
faultDetail:
{http://xml.apache.org/axis/}stackTrace:java.lang.NumberFormatException: For input string: "?"
双击创建的接口模拟服务端:

修改接口模拟服务端配置:


配置完成后,启动模拟服务端:


此时模拟服务端已经启动,可以使用了:


http://www.voidcn.com/article/p-ghfuwvou-tu.html
?
??