Title: Message
Hi All,
 
I have been using Axis1.1 on server and gSOAP on the client for long time and everything has been working fine. I am trying to migrate to Axis1.2 and picked up bits on Aug5. When I tried to generate header and stubs and compile the client project, it failed. After further investigation, I find that in Axis1.2, somehow string are soapenc:string rather than xsd:string. I usually use wsdd file to deploy webservice in Axis. If I use following typeMapping, the WSDL contains xsd:string and everything works fine. Otherwise it has soapenc:string and client code fails.
 
<typeMapping
   qname="tns:string"
   type="java:java.lang.String"
   serializer="org.apache.axis.encoding.ser.SimpleSerializerFactory"
   deserializer="org.apache.axis.encoding.ser.SimpleDeserializerFactory"
   encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
/>
 
While including the above solves the problem with soapenc, it introduces a different problem. When my webservice class is invoked by Axis, the parameters of type string in the method are empty string.
 
The current workaround for me is generate WSDL by including above typemapping so that gSOAP client code is happy. and then remove the type mapping on the server server.
 
Question: is this a bug in Axis1.2 and is it fixed? I noticed a similar issue at:
 
 
Thanks
 
--shashi
 
 
Here it the partial wsdd I use:
 
<deployment xmlns="http://xml.apache.org/axis/wsdd/"
   xmlns:java="http://xml.apache.org/axis/wsdd/providers/java"
   xmlns:tns="http://www.w3.org/2001/XMLSchema"
   xmlns:ns1="http://edc.adobe.com/edcwebservice"
   xmlns:xsi="http://www.w3.org/2000/10/XMLSchema-instance"
>
  <service name="urn:EDCLicenseService" provider="java:RPC" style="rpc" use="encoded" >
  <parameter name="className" value="com.adobe.edc.server.webservices.EDCLicenseService"/>
    <parameter name="allowedMethods" value="getServerPreferences "/>
    <operation name="getServerPreferences" qname="ns1:getServerPreferences" returnQName="returnServerPreferences"
     returnType="ns1:ServerPreference" >
       <fault name="EDCFault" qname="fns:fault" xmlns:fns="http://edc.adobe.com/EDCFaults"
         class="com.adobe.edc.server.errors.exception.EDCWebserviceException"
         type="ns1:EDCFault" />
   </operation>
   <typeMapping
         qname="ns1:EDCFault"
         type="java:com.adobe.edc.server.errors.exception.EDCWebserviceException"
         serializer="org.apache.axis.encoding.ser.BeanSerializerFactory"
         deserializer="org.apache.axis.encoding.ser.BeanDeserializerFactory"
         encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
    />
   <typeMapping
       qname="ns1:AuthScheme"
       languageSpecificType="java:com.adobe.edc.server.soap.AuthSchemeDTO"
       serializer="org.apache.axis.encoding.ser.BeanSerializerFactory"
       deserializer="org.apache.axis.encoding.ser.BeanDeserializerFactory"
       encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
   />
   <typeMapping
       qname="ns1:AuthSchemes"
       languageSpecificType="java:com.adobe.edc.server.soap.AuthSchemeDTO[]"
       serializer="org.apache.axis.encoding.ser.ArraySerializerFactory"
       deserializer="org.apache.axis.encoding.ser.ArrayDeserializerFactory"
       encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
   />
<!--
<typeMapping
   qname="tns:string"
   type="java:java.lang.String"
   serializer="org.apache.axis.encoding.ser.SimpleSerializerFactory"
   deserializer="org.apache.axis.encoding.ser.SimpleDeserializerFactory"
   encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
/>
-->
  </service>
</deployment>
 

Attachment: TestService_xsd_string.wsdl
Description: Binary data

Attachment: TestService_soapenc_string.wsdl
Description: Binary data

Reply via email to