[ 
https://issues.apache.org/jira/browse/AXIS2-4022?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12768149#action_12768149
 ] 

Nick Paul edited comment on AXIS2-4022 at 10/21/09 9:51 AM:
------------------------------------------------------------

Hello,

I am experiencing the same issue as well. Has anyone had any success in 
resolving or working around this? The example in the initial description is 
again a very concise example of the issue I am having. 

I have looked into the code for Axis2 jax-ws module - however I must admit I am 
struggling to understand everything in the code. It looks like what is 
happening is that the jax-ws code generates the <dlwmin:testCResponse> with the 
prefix "dlwmin". The object structure being returned is then handed over to 
JAXB, however JAXB is not aware that the namespace for "http://server.hw.demo/"; 
is "dlwmin". I assume that JAXB therefore expects all types to be in the 
default namespace.

The relevant method that starts to create the <dlwmin:testCResponse> element is 
DocLitWrappedMinimalMethodMarshaller.marshalResponse()

I think what needs to happen is that when JAXB is requested to marshall it is 
informed that the namespace prefix "dlwmin" has already been setup. But I have 
no idea how to do this...

Thanks,

Nick

PS. Sorry just edited this comment as I was mistakenly referring to XMLBeans 
instead of JAXB. Staying up too late!


      was (Author: nickpaul):
    Hello,

I am experiencing the same issue as well. Has anyone had any success in 
resolving or working around this? The example in the initial description is 
again a very concise example of the issue I am having. 

I have looked into the code for Axis2 jax-ws module - however I must admit I am 
struggling to understand everything in the code. It looks like what is 
happening is that the jax-ws code generates the <dlwmin:testCResponse> with the 
prefix "dlwmin". The object structure being returned is then handed over to 
XMLBeans, however XMLBeans is not aware that the namespace for 
"http://server.hw.demo/"; is "dlwmin". I assume that XMLBeans therefore expects 
all types to be in the default namespace.

The relevant method that starts to create the <dlwmin:testCResponse> element is 
DocLitWrappedMinimalMethodMarshaller.marshalResponse()

I think what needs to happen is that when XMLBeans is requested to marshall it 
is informed that the namespace prefix "dlwmin" has already been setup. But I 
have no idea how to do this...

Thanks,

Nick

  
> No namespace on xsi:type for generics under JAX-WS
> --------------------------------------------------
>
>                 Key: AXIS2-4022
>                 URL: https://issues.apache.org/jira/browse/AXIS2-4022
>             Project: Axis 2.0 (Axis2)
>          Issue Type: Bug
>          Components: jaxws
>    Affects Versions: 1.4.1
>         Environment: Tomcat 5.5, jdk 1.5.0_13, Windows XP
>            Reporter: Kevin Ruland
>         Attachments: source.tgz
>
>
> I created a simple class and exposed the web service using JAX-WS 
> annontations.  The wsdl & xsd generated looked ok, but the response messages 
> for methods which returned parametrized lists did not put a namespace on the 
> xsi type for the elements.  The resulting SOAP response document did not 
> validate against the xsd and could not be deserialized with an axis2 
> generated client (using adb).
> Attached is full example - client and server.
> The response document returned by the server from a call to the testC() 
> method is:
> <?xml version='1.0' encoding='UTF-8'?>
>    <soapenv:Envelope 
> xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/";>
>       <soapenv:Body>
>          <dlwmin:testCResponse xmlns:dlwmin="http://server.hw.demo/";>
>             <return>
>                <list xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"; 
> xsi:type="typeC">
>                   <aString>outp</aString>
>                   <aInt>0</aInt>
>                   <aBoolean>false</aBoolean>
>                </list>
>             </return>
>          </dlwmin:testCResponse>
>       </soapenv:Body>
>    </soapenv:Envelope>
> Note the xsi:type="typeC" attribute is incorrect and should be 
> xsd:type="dlwmin:typeC"
>  

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.

Reply via email to