[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