我有一个让我疯狂的问题。
我想使用Web服务,所以我使用Eclipse从其WSDL创建了一个客户端,但它不起作用,但是当我使用其他工具(如XMLSpy)时,它可以工作。
从我的Java代码(不工作)发出的soap消息是:
<SOAP-ENV:Envelope
xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<SOAP-ENV:Body>
<JRPM056.Execute>
<Personas>
<ns1:pais xmlns:ns1="Personas">845</ns1:pais>
<ns2:tpdoc xmlns:ns2="Personas">1</ns2:tpdoc>
<ns3:ndoc xmlns:ns3="Personas">39858460</ns3:ndoc>
<ns4:apell1 xmlns:ns4="Personas">Recoba</ns4:apell1>
<ns5:apell2 xmlns:ns5="Personas">Viana</ns5:apell2>
<ns6:nombre1 xmlns:ns6="Personas">Rodrigo</ns6:nombre1>
<ns7:nombre2 xmlns:ns7="Personas">Romualdo</ns7:nombre2>
<ns8:fecnac xmlns:ns8="Personas">2011-12-01</ns8:fecnac>
<ns9:fecvto xmlns:ns9="Personas">2011-12-31</ns9:fecvto>
<ns10:sexo xmlns:ns10="Personas">M</ns10:sexo>
<ns11:estciv xmlns:ns11="Personas">2</ns11:estciv>
<ns12:domicilio xmlns:ns12="Personas">
<ns13:domicilios.domiciliosItem xmlns:ns13="domicilios">
<ns13:tdomi>4</ns13:tdomi>
<ns13:dpto>10</ns13:dpto>
<ns13:local>10</ns13:local>
<ns13:calle>Convenc</ns13:calle>
<ns13:puerta>1465</ns13:puerta>
<ns13:aparta>301</ns13:aparta>
</ns13:domicilios.domiciliosItem>
<ns14:domicilios.domiciliosItem xmlns:ns14="domicilios">
<ns14:tdomi>3</ns14:tdomi>
<ns14:dpto>10</ns14:dpto>
<ns14:local>10</ns14:local>
<ns14:calle>Araucho</ns14:calle>
<ns14:puerta>1359</ns14:puerta>
<ns14:aparta>1</ns14:aparta>
</ns14:domicilios.domiciliosItem>
</ns12:domicilio>
<ns15:telefono xmlns:ns15="Personas">
<ns16:Sdttelefonos.SdttelefonosItem xmlns:ns16="sdttelefonos">
<ns16:tdomici>2</ns16:tdomici>
<ns16:telefono>27073963</ns16:telefono>
<ns16:sitdomi></ns16:sitdomi>
</ns16:Sdttelefonos.SdttelefonosItem>
<ns17:Sdttelefonos.SdttelefonosItem xmlns:ns17="sdttelefonos">
<ns17:tdomici>1</ns17:tdomici>
<ns17:telefono>099514254</ns17:telefono>
<ns17:sitdomi></ns17:sitdomi>
</ns17:Sdttelefonos.SdttelefonosItem>
<ns18:Sdttelefonos.SdttelefonosItem xmlns:ns18="sdttelefonos">
<ns18:tdomici>0</ns18:tdomici>
<ns18:telefono>099514254</ns18:telefono>
<ns18:sitdomi></ns18:sitdomi>
</ns18:Sdttelefonos.SdttelefonosItem>
</ns15:telefono>
<ns19:Ocucod xmlns:ns19="Personas">1</ns19:Ocucod>
<ns20:Actcod xmlns:ns20="Personas">1</ns20:Actcod>
<ns21:empresa xmlns:ns21="Personas">MI</ns21:empresa>
<ns22:fecing xmlns:ns22="Personas">2011-12-01</ns22:fecing>
</Personas>
</JRPM056.Execute>
</SOAP-ENV:Body>
</SOAP-ENV:Envelope>
错误讯息:
<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<SOAP-ENV:Body>
<WS.ExecuteResponse xmlns="http://tempuri.org/action/">
<SOAP-ENV:Fault>
<faultcode>SOAP-ENV:Client</faultcode>
<faultstring>Name of parameter 2 different than expected.</faultstring>
<detail>2</detail>
</SOAP-ENV:Fault>
</WS.ExecuteResponse>
</SOAP-ENV:Body>
</SOAP-ENV:Envelope>
从XML间谍(工作)发出的肥皂消息是:
<SOAP-ENV:Envelope
xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<SOAP-ENV:Body>
<JRPM056.Execute>
<Personas>
<ns1:pais xmlns:ns1="Personas">845</ns1:pais>
<ns2:tpdoc xmlns:ns2="Personas">1</ns2:tpdoc>
<ns3:ndoc xmlns:ns3="Personas">39858460</ns3:ndoc>
<ns4:apell1 xmlns:ns4="Personas">Recoba</ns4:apell1>
<ns5:apell2 xmlns:ns5="Personas">Viana</ns5:apell2>
<ns6:nombre1 xmlns:ns6="Personas">Rodrigo</ns6:nombre1>
<ns7:nombre2 xmlns:ns7="Personas">Romualdo</ns7:nombre2>
<ns8:fecnac xmlns:ns8="Personas">2011-12-01</ns8:fecnac>
<ns9:fecvto xmlns:ns9="Personas">2011-12-31</ns9:fecvto>
<ns10:sexo xmlns:ns10="Personas">M</ns10:sexo>
<ns11:estciv xmlns:ns11="Personas">2</ns11:estciv>
<ns12:domicilio xmlns:ns12="Personas">
<ns13:domicilios.domiciliosItem xmlns:ns13="domicilios">
<ns13:tdomi>4</ns13:tdomi>
<ns13:dpto>10</ns13:dpto>
<ns13:local>10</ns13:local>
<ns13:calle>Convenc</ns13:calle>
<ns13:puerta>1465</ns13:puerta>
<ns13:aparta>301</ns13:aparta>
</ns13:domicilios.domiciliosItem>
<ns14:domicilios.domiciliosItem xmlns:ns14="domicilios">
<ns14:tdomi>3</ns14:tdomi>
<ns14:dpto>10</ns14:dpto>
<ns14:local>10</ns14:local>
<ns14:calle>Araucho</ns14:calle>
<ns14:puerta>1359</ns14:puerta>
<ns14:aparta>1</ns14:aparta>
</ns14:domicilios.domiciliosItem>
</ns12:domicilio>
<ns15:telefono xmlns:ns15="Personas">
<ns16:Sdttelefonos.SdttelefonosItem xmlns:ns16="sdttelefonos">
<ns16:tdomici>2</ns16:tdomici>
<ns16:telefono>27073963</ns16:telefono>
<ns16:sitdomi></ns16:sitdomi>
</ns16:Sdttelefonos.SdttelefonosItem>
<ns17:Sdttelefonos.SdttelefonosItem xmlns:ns17="sdttelefonos">
<ns17:tdomici>1</ns17:tdomici>
<ns17:telefono>099514254</ns17:telefono>
<ns17:sitdomi></ns17:sitdomi>
</ns17:Sdttelefonos.SdttelefonosItem>
<ns18:Sdttelefonos.SdttelefonosItem xmlns:ns18="sdttelefonos">
<ns18:tdomici>0</ns18:tdomici>
<ns18:telefono>099514254</ns18:telefono>
<ns18:sitdomi></ns18:sitdomi>
</ns18:Sdttelefonos.SdttelefonosItem>
</ns15:telefono>
<ns19:Ocucod xmlns:ns19="Personas">1</ns19:Ocucod>
<ns20:Actcod xmlns:ns20="Personas">1</ns20:Actcod>
<ns21:empresa xmlns:ns21="Personas">MI</ns21:empresa>
<ns22:fecing xmlns:ns22="Personas">2011-12-01</ns22:fecing>
</Personas>
</JRPM056.Execute>
</SOAP-ENV:Body>
</SOAP-ENV:Envelope>
我试图弄清楚差异,以获得有关为什么不能使用我的eclipse客户端生成的任何线索。 谢谢!
答案 0 :(得分:0)
你的架构没有任何意义。命名空间“tns3”未在任何地方定义,并且您的各种类型名称根本不匹配。这是实际的架构吗?如果是这样,我会先尝试让它正确。