SOAP-WSDL - problem with deserializer

Posted on Thu Jun 26 16:21:23 2008 by jmurphy
problem with deserializer
Hi, I've been working with the SOAP::WSDL module for a little bit given a WSDL for a web service we are developing to receive calls from a JAX-WS client, and I've run into a problem with the code generated for my WSDL not being able to de-serialize. In testing SOAP::WSDL the deserializer doesn't work for either the generated client or server. The serializers work just find (I can send rpc's and return values). At this point, I've resorted to using SOAP::WSDL::Deserializer::Hash and extracting values from the hash structure, which loses some type-mapping semantics but works well. Anyways, below is my WSDL stripped down to a single testConnection function. It's input and output are base types, so it should be very straight forward and I would think the generated Type classes would work. I can't quite make heads or tails of the code to modify the generated type classes. Anyone have an idea if something is structured wrong below or is this is just a bug? I'm using the latest version (SOAP-WSDL-2.00.04). Thanks!
<?xml version="1.0" encoding="UTF-8"?> <definitions xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility- +1.0.xsd" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:tns="http://service.com/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns="http://schemas.xmlsoap.org/wsdl/" targetNamespace="http://service.com/" name="EmailWSService"> <types> <xsd:schema targetNamespace="http://service.com/" > <xsd:element name="testConnectionParameter" type="xsd:string" /> <xsd:element name="testConnectionResponse" type="xsd:boolean" /> </xsd:schema> </types> <message name="testConnection"> <part name="parameters" element="tns:testConnectionParameter"> </part> </message> <message name="testConnectionResponse"> <part name="parameters" element="tns:testConnectionResponse" /> </message> <portType name="EmailWS"> <operation name="testConnection"> <input message="tns:testConnection"> </input> <output message="tns:testConnectionResponse"> </output> </operation> </portType> <binding name="EmailWSPortBinding" type="tns:EmailWS"> <soap:binding transport="http://schemas.xmlsoap.org/soap/http" style="document" /> <operation name="testConnection"> <soap:operation soapAction="http://service.com/testConnection" /> <input> <soap:body use="literal" /> </input> <output> <soap:body use="literal" /> </output> </operation> </binding> <service name="EmailWSService"> <port name="EmailWSPort" binding="tns:EmailWSPortBinding"> <soap:address location="http://cnu.acsu.buffalo.edu/cgi-bin/mailapi" /> </port> </service> </definitions>
Write a response