2011-12-23 3 views
0

У меня проблема, из-за которой я с ума сошел.Потребление ws от java

Я хочу использовать веб-службу, поэтому я создал клиент, использующий Eclipse из своего WSDL, но он не работает, но когда я использую другой инструмент, такой как XMLSpy, он работает.

Сообщение мыло отослано из моего Java кода (не работает) является:

<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 clien т. Спасибо!

+0

Включите код, в котором вы фактически используете WS. – Alfabravo

+0

@ Добавлен код Алфабраво. – Keetah

ответ

0

Ваша схема не имеет никакого смысла. namespace «tns3» не определяется нигде, и ваши различные имена типов не совпадают вообще. это фактическая схема? если это так, я бы попытался сделать это правильно в первую очередь.

+0

Я добавил два сообщения о мыле, один из которых пошагово xmlSpy работает отлично, и тот, который генерируется из моего java-кода (клиент генерируется с помощью eclipse). Благодарю. – Keetah

+0

Да, пространства имен следует использовать с умом. Но в эти ужасные времена какое-то злобное программное обеспечение допускает такое безумие. Во всяком случае, если WS разрешает второе сообщение ... – Alfabravo

+0

@Alfabravo - я фактически комментировал схему, включенную в исходную версию вопроса, что было скорее всего недействительным. – jtahlborn

Смежные вопросы