[Xml-compile] XML::Compile::SOAP 2.02 woes (1)

Gert Doering gert at space.net
Wed Mar 18 14:32:30 GMT 2009


Hi folks,

took me much longer than expected, but today I started testing 
XML::Compile::SOAP 2.02 in our application, and oh the pain...

I have two issues that can be fairly easily reproduced and "should
not be so" (sent in two separate mails).

Issue #1:

Talking to a SOAP::Lite server works (legacy part of the software, can't
change "over night"), if SOAP::Lite is version 0.70, but breaks if
SOAP::Lite is version 0.55.  Unfortunately, the SOAP::Lite version on
the production system is 0.55 and can't be easily changed.

XML::Compile::SOAP 0.68 (the last version that we really stress-tested
in depth) worked fine with the 0.55 server.

Looking at the responses, they seem to be differing mainly in namespace
aspects.

The error message seems to back this:

error: data for element or block starting with `WEBINT_TRANSACTIONID' missing at {urn:TDeModify}OpSelfTestResponse

----------------------- FAILING -------------------------------
HTTP/1.1 200 OK
Date: Wed, 18 Mar 2009 13:53:09 GMT
Server: Apache/2.0.63 (SpaceNet)
SOAPServer: SOAP::Lite/Perl/0.55
Content-Length: 674
Keep-Alive: timeout=15, max=100
Connection: Keep-Alive
Content-Type: text/xml; charset=utf-8

<?xml version="1.0" encoding="UTF-8"?><SOAP-ENV:Envelope xmlns:xsi="http://www.w3.org/1999/XMLSchema-instance" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsd="http://www.w3.org/1999/XMLSchema" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><SOAP-ENV:Body><namesp1:OpSelfTestResponse xmlns:namesp1="urn:TDeModify"><WEBINT_TRANSACTIONID xsi:type="xsd:string">1237384390</WEBINT_TRANSACTIONID><DB_STATUS xsi:type="xsd:string">PDB: OK</DB_STATUS><IN_OUT xsi:type="xsd:string">C0815-4711-xxx 200711250087</IN_OUT></namesp1:OpSelfTestResponse></SOAP-ENV:Body></SOAP-ENV:Envelope>DONE
------------------------ WORKING ------------------------------
HTTP/1.1 200 OK
Date: Wed, 18 Mar 2009 13:57:45 GMT
Server: Apache/2.0.63 (FreeBSD) PHP/5.2.8 with Suhosin-Patch mod_fastcgi/2.4.6 mod_ssl/2.0.63 OpenSSL/0.9.8i mod_perl/2.0.4 Perl/v5.8.9
SOAPServer: SOAP::Lite/Perl/0.710.08
Content-Length: 625
Keep-Alive: timeout=15, max=100
Connection: Keep-Alive
Content-Type: text/xml; charset=utf-8

<?xml version="1.0" encoding="UTF-8"?><soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" soap:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"><soap:Body><OpSelfTestResponse xmlns="urn:TDeModify"><WEBINT_TRANSACTIONID xsi:type="xsd:string">1237384665</WEBINT_TRANSACTIONID><DB_STATUS xsi:type="xsd:string">PDB: OK</DB_STATUS><IN_OUT xsi:type="xsd:string">C0815-4711-xxx 200711250087</IN_OUT></OpSelfTestResponse></soap:Body></soap:Envelope>DONE
---------------------------------------------------------------

Test script & .WSDL file are attached  (Mark, you've seen this one
before :-) ).

... I've spent a while staring at this, and can't make any sense out
of it...

Gert Doering
        -- NetMaster
-- 
Total number of prefixes smaller than registry allocations:  128645

SpaceNet AG                        Vorstand: Sebastian v. Bomhard
Joseph-Dollinger-Bogen 14          Aufsichtsratsvors.: A. Grundner-Culemann
D-80807 Muenchen                   HRB: 136055 (AG Muenchen)
Tel: +49 (89) 32356-444            USt-IdNr.: DE813185279
-------------- next part --------------
A non-text attachment was scrubbed...
Name: tick_local_selftest.pl
Type: text/x-perl
Size: 1100 bytes
Desc: not available
Url : http://lists.scsys.co.uk/pipermail/xml-compile/attachments/20090318/9684d366/tick_local_selftest.pl
-------------- next part --------------
<?xml version="1.0" encoding="UTF-8"?>

<wsdl:definitions targetNamespace="urn:TDeModify" xmlns="http://schemas.xmlsoap.org/wsdl/" xmlns:s="urn:TDeModify" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" xmlns:xsd="http://www.w3.org/2001/XMLSchema">

 <wsdl:types>

  <xsd:schema elementFormDefault="qualified" targetNamespace="urn:TDeModify">

   <xsd:element name="OpSelfTest" type="s:SetInputMap"/>

   <xsd:complexType name="SetInputMap">

    <xsd:sequence>

     <xsd:element name="WEBINT_CUSTTICKETID" type="xsd:string"/>

     <xsd:element minOccurs="0" name="WEBINT_DETAILS" type="xsd:string"/>

     <xsd:element minOccurs="0" name="WEBINT_EXPRESS" type="s:WEBINT_EXPRESSType"/>

     <xsd:element minOccurs="0" name="WEBINT_PRIORITY" type="xsd:string"/>

     <xsd:element minOccurs="0" name="WEBINT_SERVICEAFFECTION" type="s:WEBINT_SERVICEAFFECTIONType"/>

     <xsd:element minOccurs="0" name="WEBINT_SHORTDESCRIPTION" type="xsd:string"/>

     <xsd:element minOccurs="0" name="WEBINT_STATUSCHANGE" type="s:WEBINT_STATUSCHANGEType"/>

     <xsd:element name="WEBINT_TICKETID" type="xsd:string"/>

     <xsd:element minOccurs="0" name="WEBINT_TRANSACTIONID" type="xsd:string"/>

    </xsd:sequence>

   </xsd:complexType>

   <xsd:simpleType name="WEBINT_EXPRESSType">

    <xsd:restriction base="xsd:string">

     <xsd:enumeration value="false"/>

     <xsd:enumeration value="true"/>

    </xsd:restriction>

   </xsd:simpleType>

   <xsd:simpleType name="WEBINT_SERVICEAFFECTIONType">

    <xsd:restriction base="xsd:string">

     <xsd:enumeration value="indeterminable"/>

     <xsd:enumeration value="total outage"/>

     <xsd:enumeration value="minor or perfomance problem"/>

    </xsd:restriction>

   </xsd:simpleType>

   <xsd:simpleType name="WEBINT_STATUSCHANGEType">

    <xsd:restriction base="xsd:string">

     <xsd:enumeration value="create"/>

     <xsd:enumeration value="dispatch"/>

     <xsd:enumeration value="resolve"/>

     <xsd:enumeration value="close"/>

     <xsd:enumeration value="reopen"/>

     <xsd:enumeration value="reject"/>

    </xsd:restriction>

   </xsd:simpleType>

   <xsd:element name="OpSelfTestResponse" type="s:SetOutputMap"/>

   <xsd:complexType name="SetOutputMap">

    <xsd:sequence>

     <xsd:element name="WEBINT_TRANSACTIONID" type="xsd:string"/>

     <xsd:element name="DB_STATUS" type="xsd:string"/>

     <xsd:element name="IN_OUT" type="xsd:string"/>

    </xsd:sequence>

   </xsd:complexType>

   <xsd:element name="AuthenticationInfo" type="s:AuthenticationInfo"/>

   <xsd:complexType name="AuthenticationInfo">

    <xsd:sequence>

     <xsd:element name="userName" type="xsd:string"/>

     <xsd:element name="password" type="xsd:string"/>

     <xsd:element minOccurs="0" name="authentication" type="xsd:string"/>

     <xsd:element minOccurs="0" name="locale" type="xsd:string"/>

     <xsd:element minOccurs="0" name="timeZone" type="xsd:string"/>

    </xsd:sequence>

   </xsd:complexType>

  </xsd:schema>

 </wsdl:types>



   <wsdl:message name="OpSelfTestSoapOut">



      <wsdl:part element="s:OpSelfTestResponse" name="parameters"/>



   </wsdl:message>



   <wsdl:message name="OpSelfTestSoapIn">



      <wsdl:part element="s:OpSelfTest" name="parameters"/>



   </wsdl:message>



   <wsdl:message name="ARAuthenticate">



      <wsdl:part element="s:AuthenticationInfo" name="parameters"/>



   </wsdl:message>



   <wsdl:portType name="TDeModifyPortType">



      <wsdl:operation name="OpSelfTest">



         <wsdl:input message="s:OpSelfTestSoapIn"/>



         <wsdl:output message="s:OpSelfTestSoapOut"/>



      </wsdl:operation>



   </wsdl:portType>



   <wsdl:binding name="TDeModifySoapBinding" type="s:TDeModifyPortType">



      <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>



      <wsdl:operation name="OpSelfTest">



         <soap:operation soapAction="urn:Test/OpSelfTest" style="document"/>



         <wsdl:input>



            <soap:header message="s:ARAuthenticate" part="parameters" use="literal">



            </soap:header>



            <soap:body use="literal"/>



         </wsdl:input>



         <wsdl:output>



            <soap:body use="literal"/>



         </wsdl:output>



      </wsdl:operation>



   </wsdl:binding>



   <wsdl:service name="TDeModifyService">



  <wsdl:documentation>

Modifies an existing record in the web service based TIM interface.  </wsdl:documentation>



      <wsdl:port binding="s:TDeModifySoapBinding" name="TDeModifySoap">



         <soap:address location="https://partner.space.net/bin/TDe/ticket_callback.pl?SelfTest"/>



      </wsdl:port>



   </wsdl:service>



</wsdl:definitions>





More information about the Xml-compile mailing list