ws-wsif-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Christian Kloner <klo...@par.univie.ac.at>
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.

lg,
chris

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(
>>>>   "http://schemas.xmlsoap.org/wsdl/soap/",
>>>>   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 
>>>>> http://schemas.xmlsoap.org/wsdl/soap/ namespace explicitly e.g.:
>>>>>
>>>>> //We use Axis only, set our modified Axis provider
>>>>> WSIFPluggableProviders.overrideDefaultProvider(
>>>>>    "http://schemas.xmlsoap.org/wsdl/soap/",
>>>>>    new WSIFDynamicProvider_ICAxis());
>>>>>
>>>>> lg,
>>>>> chris
>>>>>
>>>>> Jeff MAURY (JIRA) schrieb:
>>>>>> Axis provider always uses SOAP encoding style
>>>>>> ---------------------------------------------
>>>>>>
>>>>>>          Key: WSIF-85
>>>>>>          URL: http://issues.apache.org/jira/browse/WSIF-85
>>>>>>      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
>>>>>>
>>>>>>   
>>>>
>>>
>>>
>>
>


Mime
View raw message