目前在调用华为提供的webservice接口时,按照接口协议传递过去的入参,总返回以下错误:
<?xml version="1.0" encoding="utf-8"?><soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<soapenv:Body>
<soapenv:Fault>
<faultcode xmlns:ns1="http://xml.apache.org/axis/">ns1:Client.NoSOAPAction</faultcode>
<faultstring>no SOAPAction header!</faultstring>
<detail>
<ns2:hostname xmlns:ns2="http://xml.apache.org/axis/">npiserver</ns2:hostname>
</detail>
</soapenv:Fault>
</soapenv:Body>
</soapenv:Envelope>
请问这怎么解决啊?以下为WSDL文件:
<?xml version="1.0" encoding="UTF-8"?>
<wsdl:definitions targetNamespace="http://active.com.cn/ivpn/" xmlns:apachesoap="http://xml.apache.org/xml-soap" xmlns:impl="http://active.com.cn/ivpn/" xmlns:intf="http://active.com.cn/ivpn/" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" xmlns:wsdlsoap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<!--WSDL created by Apache Axis version: 1.3
Built on Oct 05, 2005 (05:23:37 EDT)-->
<wsdl:types>
<schema elementFormDefault="qualified" targetNamespace="http://active.com.cn/ivpn/" xmlns="http://www.w3.org/2001/XMLSchema">
<complexType name="msg_head">
<sequence>
<element name="time" type="xsd:string"/>
<element name="from" type="xsd:string"/>
<element name="to" type="xsd:string"/>
<element name="msg_type" type="xsd:string"/>
<element name="serial" type="xsd:string"/>
</sequence>
</complexType>
<complexType name="Method">
<sequence>
<element maxOccurs="1" minOccurs="0" name="VPNNUM" type="xsd:string"/>
<element maxOccurs="1" minOccurs="0" name="VPNNAME" type="xsd:string"/>
.............中间省略....................
<element maxOccurs="1" minOccurs="0" name="FAMVPNNUM" type="xsd:string"/>
</sequence>
<attribute name="Name" type="xsd:string"/>
</complexType>
<complexType name="ServiceSubClass">
<sequence>
<element name="Method" nillable="true" type="impl:Method"/>
</sequence>
<attribute name="Name" type="xsd:string"/>
</complexType>
<complexType name="ServiceClass">
<sequence>
<element maxOccurs="1" minOccurs="0" name="Method" nillable="true" type="impl:Method"/>
<element maxOccurs="1" minOccurs="0" name="ServiceSubClass" nillable="true" type="impl:ServiceSubClass"/>
</sequence>
<attribute name="Name" type="xsd:string"/>
</complexType>
<complexType name="directive">
<sequence>
<element name="ServiceClass" nillable="true" type="impl:ServiceClass"/>
</sequence>
</complexType>
<complexType name="RequestAttributeList">
<sequence>
<element maxOccurs="1" minOccurs="0" name="VPNNAME" type="xsd:string"/>
.............中间省略....................
<element maxOccurs="1" minOccurs="0" name="MAXATTENDANT" type="xsd:string"/>
</sequence>
</complexType>
<complexType name="ArrayOfRequestList">
<sequence>
<element maxOccurs="unbounded" minOccurs="0" name="item" type="impl:RequestAttributeList"/>
</sequence>
</complexType>
<complexType name="RequestAttributeLists">
<sequence>
<element maxOccurs="1" minOccurs="0" name="RequestAttributeList" nillable="true" type="impl:ArrayOfRequestList"/>
</sequence>
</complexType>
<complexType name="ResponseSubClass">
<sequence>
<element maxOccurs="1" minOccurs="0" name="RequestAttributeLists" nillable="true" type="impl:RequestAttributeLists"/>
<element name="ResultCode" nillable="true" type="xsd:string"/>
<element maxOccurs="1" minOccurs="0" name="ResultDescr" nillable="true" type="xsd:string"/>
<element maxOccurs="1" minOccurs="0" name="VPNNUM" type="xsd:string"/>
<element maxOccurs="1" minOccurs="0" name="MEMBERNUM" type="xsd:string"/>
</sequence>
<attribute name="Name" type="xsd:string"/>
</complexType>
<complexType name="ResponseClass">
<sequence>
<element maxOccurs="1" minOccurs="0" name="ResponseSubClass" nillable="true" type="impl:ResponseSubClass"/>
</sequence>
<attribute name="Name" type="xsd:string"/>
</complexType>
<complexType name="msg_response">
<sequence>
<element name="ResponseClass" nillable="true" type="impl:ResponseClass"/>
</sequence>
</complexType>
<complexType name="interface_msg">
<sequence>
<element maxOccurs="1" minOccurs="0" name="directive" type="impl:directive"/>
<element maxOccurs="1" minOccurs="0" name="msg_response" type="impl:msg_response"/>
</sequence>
</complexType>
<complexType name="public">
<sequence>
<element maxOccurs="1" minOccurs="0" name="directive_num" type="xsd:int"/>
<element name="bat_serial" type="xsd:string"/>
</sequence>
</complexType>
<complexType name="msg_collection">
<sequence>
<element maxOccurs="unbounded" name="interface_msg" type="impl:interface_msg"/>
</sequence>
</complexType>
<element name="root">
<complexType>
<sequence>
<element name="msg_head" type="impl:msg_head"/>
<element maxOccurs="1" minOccurs="0" name="interface_msg" type="impl:interface_msg"/>
<element maxOccurs="1" minOccurs="0" name="public" nillable="true" type="impl:public"/>
<element maxOccurs="1" minOccurs="0" name="msg_collection" type="impl:msg_collection"/>
</sequence>
</complexType>
</element>
<element name="root1">
<complexType>
<sequence>
<element name="msg_head" type="impl:msg_head"/>
<element maxOccurs="1" minOccurs="0" name="interface_msg" type="impl:interface_msg"/>
<element maxOccurs="1" minOccurs="0" name="public" nillable="true" type="impl:public"/>
<element maxOccurs="1" minOccurs="0" name="msg_collection" type="impl:msg_collection"/>
</sequence>
</complexType>
</element>
</schema>
</wsdl:types> <wsdl:message name="SYNNPIAPIRequest"> <wsdl:part element="intf:root" name="root"> </wsdl:part> </wsdl:message> <wsdl:message name="SYNNPIAPIResponse"> <wsdl:part element="intf:root1" name="root"> </wsdl:part> </wsdl:message> <wsdl:portType name="NPISyn"> <wsdl:operation name="SYNNPIAPI" parameterOrder="root"> <wsdl:input message="intf:SYNNPIAPIRequest" name="SYNNPIAPIRequest"> </wsdl:input> <wsdl:output message="intf:SYNNPIAPIResponse" name="SYNNPIAPIResponse"> </wsdl:output> </wsdl:operation> </wsdl:portType> <wsdl:binding name="NPIServicesSoapBinding" type="intf:NPISyn"> <wsdlsoap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/> <wsdl:operation name="SYNNPIAPI"> <wsdlsoap:operation soapAction=""/> <wsdl:input name="SYNNPIAPIRequest"> <wsdlsoap:body use="literal"/> </wsdl:input> <wsdl:output name="SYNNPIAPIResponse"> <wsdlsoap:body use="literal"/> </wsdl:output> </wsdl:operation> </wsdl:binding> <wsdl:service name="IVPNSerivce"> <wsdl:port binding="intf:NPIServicesSoapBinding" name="NPIServices"> <wsdlsoap:address location="http://136.192.66.154:8090/NPIServer/services/NPIServices"/> </wsdl:port> </wsdl:service></wsdl:definitions>
以下为我调用接口时的入参:
<?xml version="1.0" encoding="UTF-8"?><soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" xmlns:wsa="http://schemas.xmlsoap.org/ws/2003/03/addressing" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"><soap:Header><wsse:Security xmlns:wsse="http://schemas.xmlsoap.org/ws/2002/secext"><wsse:UsernameToken><wsse:Username></wsse:Username><wsse:Password></wsse:Password></wsse:UsernameToken><wsa:Action>http://136.192.66.154:8090/NPIServer/services/NPIServices</wsa:Action></wsse:Security></soap:Header><soap:Body><root><msg_head><time>Mon Jun 21 15:22:14 CST 2010</time><from>tisson</from><to>lucent</to><msg_type>mytype</msg_type><serial>1257404666496</serial></msg_head><interface_msg><directive><ServiceClass Name="CSService"><ServiceSubClass Name="CSVpnMemberService"><Method Name="FindVPNMember"><PHONENUM>18945044274</PHONENUM><NUMTYPE>1</NUMTYPE></Method></ServiceSubClass></ServiceClass></directive></interface_msg></root></soap:Body></soap:Envelope>
<?xml version="1.0" encoding="utf-8"?><soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<soapenv:Body>
<soapenv:Fault>
<faultcode xmlns:ns1="http://xml.apache.org/axis/">ns1:Client.NoSOAPAction</faultcode>
<faultstring>no SOAPAction header!</faultstring>
<detail>
<ns2:hostname xmlns:ns2="http://xml.apache.org/axis/">npiserver</ns2:hostname>
</detail>
</soapenv:Fault>
</soapenv:Body>
</soapenv:Envelope>
请问这怎么解决啊?以下为WSDL文件:
<?xml version="1.0" encoding="UTF-8"?>
<wsdl:definitions targetNamespace="http://active.com.cn/ivpn/" xmlns:apachesoap="http://xml.apache.org/xml-soap" xmlns:impl="http://active.com.cn/ivpn/" xmlns:intf="http://active.com.cn/ivpn/" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" xmlns:wsdlsoap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<!--WSDL created by Apache Axis version: 1.3
Built on Oct 05, 2005 (05:23:37 EDT)-->
<wsdl:types>
<schema elementFormDefault="qualified" targetNamespace="http://active.com.cn/ivpn/" xmlns="http://www.w3.org/2001/XMLSchema">
<complexType name="msg_head">
<sequence>
<element name="time" type="xsd:string"/>
<element name="from" type="xsd:string"/>
<element name="to" type="xsd:string"/>
<element name="msg_type" type="xsd:string"/>
<element name="serial" type="xsd:string"/>
</sequence>
</complexType>
<complexType name="Method">
<sequence>
<element maxOccurs="1" minOccurs="0" name="VPNNUM" type="xsd:string"/>
<element maxOccurs="1" minOccurs="0" name="VPNNAME" type="xsd:string"/>
.............中间省略....................
<element maxOccurs="1" minOccurs="0" name="FAMVPNNUM" type="xsd:string"/>
</sequence>
<attribute name="Name" type="xsd:string"/>
</complexType>
<complexType name="ServiceSubClass">
<sequence>
<element name="Method" nillable="true" type="impl:Method"/>
</sequence>
<attribute name="Name" type="xsd:string"/>
</complexType>
<complexType name="ServiceClass">
<sequence>
<element maxOccurs="1" minOccurs="0" name="Method" nillable="true" type="impl:Method"/>
<element maxOccurs="1" minOccurs="0" name="ServiceSubClass" nillable="true" type="impl:ServiceSubClass"/>
</sequence>
<attribute name="Name" type="xsd:string"/>
</complexType>
<complexType name="directive">
<sequence>
<element name="ServiceClass" nillable="true" type="impl:ServiceClass"/>
</sequence>
</complexType>
<complexType name="RequestAttributeList">
<sequence>
<element maxOccurs="1" minOccurs="0" name="VPNNAME" type="xsd:string"/>
.............中间省略....................
<element maxOccurs="1" minOccurs="0" name="MAXATTENDANT" type="xsd:string"/>
</sequence>
</complexType>
<complexType name="ArrayOfRequestList">
<sequence>
<element maxOccurs="unbounded" minOccurs="0" name="item" type="impl:RequestAttributeList"/>
</sequence>
</complexType>
<complexType name="RequestAttributeLists">
<sequence>
<element maxOccurs="1" minOccurs="0" name="RequestAttributeList" nillable="true" type="impl:ArrayOfRequestList"/>
</sequence>
</complexType>
<complexType name="ResponseSubClass">
<sequence>
<element maxOccurs="1" minOccurs="0" name="RequestAttributeLists" nillable="true" type="impl:RequestAttributeLists"/>
<element name="ResultCode" nillable="true" type="xsd:string"/>
<element maxOccurs="1" minOccurs="0" name="ResultDescr" nillable="true" type="xsd:string"/>
<element maxOccurs="1" minOccurs="0" name="VPNNUM" type="xsd:string"/>
<element maxOccurs="1" minOccurs="0" name="MEMBERNUM" type="xsd:string"/>
</sequence>
<attribute name="Name" type="xsd:string"/>
</complexType>
<complexType name="ResponseClass">
<sequence>
<element maxOccurs="1" minOccurs="0" name="ResponseSubClass" nillable="true" type="impl:ResponseSubClass"/>
</sequence>
<attribute name="Name" type="xsd:string"/>
</complexType>
<complexType name="msg_response">
<sequence>
<element name="ResponseClass" nillable="true" type="impl:ResponseClass"/>
</sequence>
</complexType>
<complexType name="interface_msg">
<sequence>
<element maxOccurs="1" minOccurs="0" name="directive" type="impl:directive"/>
<element maxOccurs="1" minOccurs="0" name="msg_response" type="impl:msg_response"/>
</sequence>
</complexType>
<complexType name="public">
<sequence>
<element maxOccurs="1" minOccurs="0" name="directive_num" type="xsd:int"/>
<element name="bat_serial" type="xsd:string"/>
</sequence>
</complexType>
<complexType name="msg_collection">
<sequence>
<element maxOccurs="unbounded" name="interface_msg" type="impl:interface_msg"/>
</sequence>
</complexType>
<element name="root">
<complexType>
<sequence>
<element name="msg_head" type="impl:msg_head"/>
<element maxOccurs="1" minOccurs="0" name="interface_msg" type="impl:interface_msg"/>
<element maxOccurs="1" minOccurs="0" name="public" nillable="true" type="impl:public"/>
<element maxOccurs="1" minOccurs="0" name="msg_collection" type="impl:msg_collection"/>
</sequence>
</complexType>
</element>
<element name="root1">
<complexType>
<sequence>
<element name="msg_head" type="impl:msg_head"/>
<element maxOccurs="1" minOccurs="0" name="interface_msg" type="impl:interface_msg"/>
<element maxOccurs="1" minOccurs="0" name="public" nillable="true" type="impl:public"/>
<element maxOccurs="1" minOccurs="0" name="msg_collection" type="impl:msg_collection"/>
</sequence>
</complexType>
</element>
</schema>
</wsdl:types> <wsdl:message name="SYNNPIAPIRequest"> <wsdl:part element="intf:root" name="root"> </wsdl:part> </wsdl:message> <wsdl:message name="SYNNPIAPIResponse"> <wsdl:part element="intf:root1" name="root"> </wsdl:part> </wsdl:message> <wsdl:portType name="NPISyn"> <wsdl:operation name="SYNNPIAPI" parameterOrder="root"> <wsdl:input message="intf:SYNNPIAPIRequest" name="SYNNPIAPIRequest"> </wsdl:input> <wsdl:output message="intf:SYNNPIAPIResponse" name="SYNNPIAPIResponse"> </wsdl:output> </wsdl:operation> </wsdl:portType> <wsdl:binding name="NPIServicesSoapBinding" type="intf:NPISyn"> <wsdlsoap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/> <wsdl:operation name="SYNNPIAPI"> <wsdlsoap:operation soapAction=""/> <wsdl:input name="SYNNPIAPIRequest"> <wsdlsoap:body use="literal"/> </wsdl:input> <wsdl:output name="SYNNPIAPIResponse"> <wsdlsoap:body use="literal"/> </wsdl:output> </wsdl:operation> </wsdl:binding> <wsdl:service name="IVPNSerivce"> <wsdl:port binding="intf:NPIServicesSoapBinding" name="NPIServices"> <wsdlsoap:address location="http://136.192.66.154:8090/NPIServer/services/NPIServices"/> </wsdl:port> </wsdl:service></wsdl:definitions>
以下为我调用接口时的入参:
<?xml version="1.0" encoding="UTF-8"?><soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" xmlns:wsa="http://schemas.xmlsoap.org/ws/2003/03/addressing" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"><soap:Header><wsse:Security xmlns:wsse="http://schemas.xmlsoap.org/ws/2002/secext"><wsse:UsernameToken><wsse:Username></wsse:Username><wsse:Password></wsse:Password></wsse:UsernameToken><wsa:Action>http://136.192.66.154:8090/NPIServer/services/NPIServices</wsa:Action></wsse:Security></soap:Header><soap:Body><root><msg_head><time>Mon Jun 21 15:22:14 CST 2010</time><from>tisson</from><to>lucent</to><msg_type>mytype</msg_type><serial>1257404666496</serial></msg_head><interface_msg><directive><ServiceClass Name="CSService"><ServiceSubClass Name="CSVpnMemberService"><Method Name="FindVPNMember"><PHONENUM>18945044274</PHONENUM><NUMTYPE>1</NUMTYPE></Method></ServiceSubClass></ServiceClass></directive></interface_msg></root></soap:Body></soap:Envelope>
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货