ws-wsif-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Christian Kloner <>
Subject Re: [jira] Created: (WSIF-85) Axis provider always uses SOAP encoding style
Date Fri, 03 Mar 2006 20:15:45 GMT
ok, that's because the implemented DynamicProvider for Axis in the WSIF 
is a wrapper around the Axi's Call class and you have to register for 
each complex type or rather element in the schema found in the wsdl file 
a serializer/deserializer class (this classes are usually gernerated by 
the wsdl2java tool). these values for the fields in the generated 
classes by wsdl2java will be used to write the xml code. I am not sure 
but in these generated classes there are also ParameterDesc objects 
found, which stores the description of the fields. I think you can set a 
ParameterDesc object of a field explicitly to doc/literal. but i am not 
sure. but if you want to use complex types, you have to register the 
generated classes to be found by the WSIF, but I think you have already 
done this!

At the moment to my best knowledge it is better to use axis2 for 
doc/literal web services. you can create the xml elements of the soap 
body very easyly with AXIOM and add it to a SoapEnvelope of a message 
which will be sent to the Web Service. I used WSIF but now i use AXIS2 
to generate dynamic invocations.


Jeff MAURY schrieb:
> Christian Kloner wrote:
>> hmm. this is strange because in my case (doc/literal), it always 
>> works because after the wsdl file has been parsed, the encoding is 
>> automatically detected. but i only use WSIF for Web Services with 
>> datataypes which are built into the java language like String, 
>> Integer, etc.
> If you don't use complex or array types, then this causes no error.
> But array or complex types will lead to errors.
> Jeff
>> Jeff MAURY schrieb:
>>> Christian Kloner wrote:
>>>> ups, it must be like that (I posted my own implementation class of 
>>>> the Provider Interface, sry):
>>>> //We use Axis, set the  Axis provider to make sure not to use the 
>>>> soap provider
>>>> WSIFPluggableProviders.overrideDefaultProvider(
>>>>   "",
>>>>   new 
>>>> org.apache.wsif.providers.soap.apacheaxis.WSIFDynamicProvider_ApacheAxis());

>>> Christian,
>>> thanks for you help but your mail answers to the following question: 
>>> how
>>> can I use the Axis provider instead of the Apache SOAP one for SOAP
>>> calls. Where my question was, once I use the Axis provider, it always
>>> uses the RPC SOAP encoding and provide no space for literal encoding.
>>> Jeff
>>>> Christian Kloner schrieb:
>>>>> You have to specify the Provider for the 
>>>>> namespace explicitly e.g.:
>>>>> //We use Axis only, set our modified Axis provider
>>>>> WSIFPluggableProviders.overrideDefaultProvider(
>>>>>    "",
>>>>>    new WSIFDynamicProvider_ICAxis());
>>>>> lg,
>>>>> chris
>>>>> Jeff MAURY (JIRA) schrieb:
>>>>>> Axis provider always uses SOAP encoding style
>>>>>> ---------------------------------------------
>>>>>>          Key: WSIF-85
>>>>>>          URL:
>>>>>>      Project: Axis-WSIF
>>>>>>         Type: Bug
>>>>>>   Components: Basic Architecture      Versions: current 
>>>>>> (nightly), 2.0     Environment: Windows XP SP2 + Sun JDK 1.4.2
>>>>>>     Reporter: Jeff MAURY
>>>>>>      Fix For: current (nightly)
>>>>>> When accessing a literal RPC based we service, WSIF, when using 
>>>>>> the Axis provider, always use the SOAP encoding style. This lead

>>>>>> to error when running against Axis for example

View raw message