You are viewing a plain text version of this content. The canonical link for it is here.
Posted to wsif-dev@ws.apache.org by "Jeff MAURY (JIRA)" <ws...@ws.apache.org> on 2006/03/01 18:08:02 UTC

[jira] Created: (WSIF-85) Axis provider always uses SOAP encoding style

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

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
   http://issues.apache.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see:
   http://www.atlassian.com/software/jira


Re: [jira] Created: (WSIF-85) Axis provider always uses SOAP encoding style

Posted by Christian Kloner <kl...@par.univie.ac.at>.
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
>>>>>>
>>>>>>   
>>>>
>>>
>>>
>>
>


Re: [jira] Created: (WSIF-85) Axis provider always uses SOAP encoding style

Posted by Jeff MAURY <jf...@scort.com>.
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
>>>>>
>>>>>   
>>>
>>
>>
>


Re: [jira] Created: (WSIF-85) Axis provider always uses SOAP encoding style

Posted by Christian Kloner <kl...@par.univie.ac.at>.
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.




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
>>>>
>>>>   
>>
>
>


Re: [jira] Created: (WSIF-85) Axis provider always uses SOAP encoding style

Posted by Jeff MAURY <jf...@scort.com>.
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
>>>
>>>   
>



Re: [jira] Created: (WSIF-85) Axis provider always uses SOAP encoding style

Posted by Christian Kloner <kl...@par.univie.ac.at>.
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 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
>>
>>   


Re: [jira] Created: (WSIF-85) Axis provider always uses SOAP encoding style

Posted by Christian Kloner <kl...@par.univie.ac.at>.
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
>
>