2011-12-23 3 views
0

私には狂った問題があります。ws from java

Webサービスを使用したいので、Eclipseを使用してWSDLからクライアントを作成しましたが、動作しませんでしたが、XMLSpyなどの別のツールを使用すると機能します。

私のJavaコード(動作しない)からsendedでは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のスパイ(作業)からsendedではSOAPメッセージは次のとおりです。

<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> 

私はdiferenceを把握しようとしていますが、なぜ私の生成したものではないかについての手がかりを得るために、Eclipse Clien t。 ありがとう!

+0

実際にWSを消費するコードを含めます。 – Alfabravo

+0

@Alfabravoコードが追加されました。 – Keetah

答えて

0

あなたのスキーマは意味をなさない。名前空間 "tns3"はどこにも定義されておらず、さまざまな型名はまったく一致しません。これは実際のスキーマですか?もしそうなら、まずそれを正しいものにしようとします。

+0

私は2つのSOAPメッセージを追加しました。これはeXmlSpyを送信したもので、完璧に動作し、Javaコードから生成されたものです(クライアントはeclipseで生成されています)。ありがとう。 – Keetah

+0

ええ、名前空間は賢明に使うべきです。しかし、この恐ろしい時代には、悪意のあるソフトウェアによってはそのような狂気が許されます。とにかく、WSが2番目のメッセージを許可していれば... – Alfabravo

+0

@Alfabravo - 私は実際に無効である可能性が最も高い質問の元のバージョンに含まれているスキーマについてコメントしていました。 – jtahlborn