You are viewing a plain text version of this content. The canonical link for it is here.
Posted to java-dev@axis.apache.org by Davanum Srinivas <da...@gmail.com> on 2007/02/17 22:39:26 UTC

[Axis2] AXIS2-2155 - Re: JAXWSMessageReciever Marshaller Problem

Rich, Nick,

Any idea if we can fix this for 1.2 release?

thanks,
dims

On 2/9/07, Nicholas L Gallardo <nl...@us.ibm.com> wrote:
>
> Dims,
>
> By "the other SOAP engine", I'm assuming that's CXF?
>
> Our usage of JAXB right now is dependent upon root elements.  By that, I mean that the wrapper bean that's defined as the root element in the schema.  These generated classes carry some additional annotations that allow us to unmarshall them easily with JAXB.
>
> I discussed this with Rich and he had some ideas about ways we could possibly get around this.  It will have to be a lower severity item though as we're working through some functional scenarios.  I've opened a JIRA issue to track this.
>
> https://issues.apache.org/jira/browse/AXIS2-2155
>
> Regards,
>
> Nicholas Gallardo
>  WebSphere  -  WebServices Development
>  nlgallar@us.ibm.com
>  Phone: 512-838-1182
>  Building: 901 / 5G-016
>
>
>
>  "Davanum Srinivas" <da...@gmail.com>
>
> 02/09/2007 10:54 AM
>
> Please respond to
>  axis-dev@ws.apache.org
>
>
> To axis-dev@ws.apache.org
>
> cc
>
>
> Subject Re: JAXWSMessageReciever Marshaller Problem
>
>
>
>
>
>
>
>
> Nick,
>
>  The other soap engine inside Geronimo seems to work w/o needing the
>  wrapper classes. Anything we can do to get ours working too? w/o
>  having to run the xjc command with "-wsdl"? Is this planned, or out of
>  scope?
>
>  thanks,
>  dims
>
>  On 2/9/07, Nicholas L Gallardo <nl...@us.ibm.com> wrote:
>  >
>  > Hi Lasantha,
>  >
>  > Sorry for the late response here.  You have correctly identified the missing piece though.  For services that are considered doc/lit wrapped (the default for JAX-WS), it is required that the wrapper beans  be generated.  You can get these by running the JAXB generation tool with the "-wsdl" flag I believe.  The JAX-WS runtime in Axis2 will not generate these on the fly, but needs these classes to be able to marshall/unmarshall the messages.
>  >
>  > Beyond that though, you don't need to include the @RequestWrapper or @ResponseWrapper annotations if the generated class names follow the defaults:
>  >
>  >      - package name is the same as the SEI
>  >      - class names are OperationName and OperationNameResponse with the appropriate camel casing.
>  >
>  > Hope that helps...
>  >
>  > Regards,
>  >
>  > Nicholas Gallardo
>  >  WebSphere  -  WebServices Development
>  >  nlgallar@us.ibm.com
>  >  Phone: 512-838-1182
>  >  Building: 901 / 5G-016
>  >
>  >
>  >
>  >  "Lasantha Ranaweera" <la...@opensource.lk>
>  >
>  > 02/05/2007 09:54 AM
>  >
>  >
>  > Please respond to
>  >  axis-dev@ws.apache.org
>  >
>  >
>  > To axis-dev@ws.apache.org
>  >
>  > cc
>  >
>  >
>  > Subject RE: JAXWSMessageReciever Marshaller Problem
>  >
>  >
>  >
>  >
>  >
>  >
>  >
>  >
>  > Hi Nick,
>  >
>  >  Thank you very much for the giving some insight.
>  >
>  >  Say for example if are having Doc/Lit service with @ResponsWrapper &
>  >  @RequestWrapper annotations, will the Axis2 generate intermediate classes
>  >  for the JAXB binding automatically? Otherwise do we need to some how
>  >  generate it & add it in to the archive?
>  >
>  >  First we are working on an example which has a WSDL and creating
>  >  annotations by hand using it's relevant composites.
>  >
>  >  Please find the attached WSDL, endpoint & endpoint impl class.
>  >
>  >  Any help would be greately appriciated.
>  >
>  >  Thanks,
>  >  Lasantha Ranaweera
>  >  > Lin,
>  >  >
>  >  > JAXB objects are not always required.  You could be using simple types
>  >  > that map base Java types like String, int, boolean, etc.  But, in all
>  >  > cases, we will use JAX-WS as a means to marshall/unmarshall data types.
>  >  >
>  >  > The exception you're seeing usually happens when the JAXBContext that is
>  >  > used to unmarshall the message is not configured correctly.  The two
>  >  > messages that you see from JAXBUtils could be an indication of the problem
>  >  > depending on what pattern your service is following (wrapped vs. bare).
>  >  > I'm guessing wrapped since it went down into the
>  >  > DocLitWrappedMethodMarshaller.
>  >  >
>  >  > Overall, we need one of two things to be able to configure the JAXBContext
>  >  > correctly and unmarshall the incoming request.
>  >  >
>  >  > a) If it's wrapped, then you need to have an @RequestWrapper and
>  >  > @ResponseWrapper annotation on your operation.  That can be used by JAXB
>  >  > to pick-up the wrapper classes that are defined for that operation.
>  >  >
>  >  > b) If it's not wrapped, then you will need to have an ObjectFactory.  The
>  >  > ObjectFactory can be used by the JAXBContext under the covers to figure
>  >  > out how to unmarshall elements that don't have custom types defined.
>  >  > Without this though, the unmarhaller wont' work.
>  >  >
>  >  > Can you post an example of the endpoint that you're trying to deploy and
>  >  > what annotations it has on it?  Is this endpoint being deployed with or
>  >  > without a WSDL?
>  >  >
>  >  > Regards,
>  >  >
>  >  > Nicholas Gallardo
>  >  > WebSphere  -  WebServices Development
>  >  > nlgallar@us.ibm.com
>  >  > Phone: 512-838-1182
>  >  > Building: 901 / 5G-016
>  >  >
>  >  >
>  >  >
>  >  > "Lin Sun" <li...@gmail.com>
>  >  > 02/04/2007 09:50 PM
>  >  > Please respond to
>  >  > axis-dev@ws.apache.org
>  >  >
>  >  >
>  >  > To
>  >  > <ax...@ws.apache.org>
>  >  > cc
>  >  >
>  >  > Subject
>  >  > RE: JAXWSMessageReciever Marshaller Problem
>  >  >
>  >  >
>  >  >
>  >  >
>  >  >
>  >  >
>  >  > Hi there,
>  >  >
>  >  > A basic question, are jaxb objects required in a simple hello jax-ws
>  >  > application?   I think I am running the same test as Lasantha and this
>  >  > test
>  >  > doesn't have any jaxb generated classes in the war file.  Axis2 did choose
>  >  > to use DocLitWrappedMethodMarshaller to do the marshaller work and the
>  >  > following exception was thrown when message.getBodyBlock(0, blockContext,
>  >  > factory) is called.
>  >  >
>  >  > javax.xml.bind.UnmarshalException
>  >  >  - with linked exception:
>  >  > [javax.xml.bind.UnmarshalException: unexpected element
>  >  > (uri:"http://apache.org/hello_world_soap_http", local:"greetMe"). Expected
>  >  > elements are (none)]
>  >  >
>  >  > I also saw
>  >  >
>  >  > 21:50:34,781 INFO  [JAXBUtils] ObjectFactory Class Not Found
>  >  > 21:50:34,828 INFO  [JAXBUtils] package-info Class Not Found
>  >  >
>  >  > in my console log, which seems to indicate that axis2 requires the
>  >  > existence
>  >  > of the ObjectFactory Class and package-info Class (part of jaxb generated
>  >  > classes) in the test application?
>  >  >
>  >  > This same jax-ws test works with CXF integration into Geronimo so I
>  >  > thought
>  >  > it would be okay to not have jaxb objects in the application archive.
>  >  > However, missing it seems to cause the UnmarshalException.
>  >  >
>  >  > Any help is appreciated.
>  >  >
>  >  > Lin
>  >  >
>  >  > -----Original Message-----
>  >  > From: Lasantha Ranaweera [mailto:lasantha@opensource.lk]
>  >  > Sent: Wednesday, January 31, 2007 1:33 AM
>  >  > To: axis-dev@ws.apache.org
>  >  > Subject: Re: JAXWSMessageReciever Marshaller Problem
>  >  >
>  >  > Hi Nich,
>  >  >
>  >  > Thank you very much for the information. I have uploaded latest patch
>  >  > (number 2) to the Geronimo list under GERONIMO-2776.
>  >  >
>  >  > I am basically trying to read a WSDL and  create JAXWS service by hand
>  >  > filling necessary composites for situations where class level
>  >  > annotations are not provided.
>  >  >
>  >  > After some debugging sessions understand this is due to the missing JAXB
>  >  > objects in my application archive. It would be ideal if you can explain
>  >  > me how the JAXB bindings work for the JAXWS in the Axis2 side. :-)
>  >  >
>  >  > Also is there any publicly available articles to refer JAXWS stuff on
>  >  > the Axis2?
>  >  >
>  >  > Thanks Again,
>  >  > Lasantha
>  >  >
>  >  > Nicholas L Gallardo wrote:
>  >  >>
>  >  >> Hi Lasantha,
>  >  >>
>  >  >> Sorry for the delayed response here.
>  >  >>
>  >  >> I think I need to understand how you're deploying/configuring the
>  >  >> endpoint before I can provide guidance on what's going on here.  I
>  >  >> know we've already started the Geronimo integration, but I think some
>  >  >> of that is going to (or should probably) rely on similar work that
>  >  >> needs to be done in Axis2.  Do you have some information or
>  >  >> architecture that you can share for how this is being done?
>  >  >>
>  >  >> As far as this situation, the unmarshalling is going to be predicated
>  >  >> on what style of WSDL you have.  If you've just annotated a POJO and
>  >  >> then deployed that, the default WSDL mapping is to a Document/Literal
>  >  >> Wrapped style WSDL.  You can use the SOAPBinding annotation as you've
>  >  >> already seen to toggle between a Document and RPC style.  Only
>  >  >> "literal" use is supported.  JAX-WS does not support RPC/Encoded style
>  >  >> WSDLs.
>  >  >>
>  >  >> At a high level what will happen is, after the request comes in to the
>  >  >> JAXWSMessageReceiver, a decision will be made as to what
>  >  >> MethodMarshaller needs to be loaded.  This decision is based on the
>  >  >> information in the EndpointDescription/OperationDescription.  Each of
>  >  >> those objects is a view of the WSDL and annotation information
>  >  >> available for an endpoint/operation.  If those are not configured
>  >  >> correctly, then you won't have the right MethodMarshaller.
>  >  >>
>  >  >> Is the scenario that you have intended to truly be based on an "RPC"
>  >  >> style WSDL (as opposed to a "Document" style)?  I'm assuming that the
>  >  >> RPC in the RPCMessageReceiver is referring more to the fact that it's
>  >  >> for services that are based on an interaction that people would
>  >  >> consider RPC over a messaging style interaction.  Is that correct?
>  >  >>
>  >  >> Regards,
>  >  >>
>  >  >> Nicholas Gallardo
>  >  >> WebSphere  -  WebServices Development
>  >  >> nlgallar@us.ibm.com
>  >  >> Phone: 512-838-1182
>  >  >> Building: 901 / 5G-016
>  >  >>
>  >  >>
>  >  >> *"Lasantha Ranaweera" <la...@opensource.lk>*
>  >  >>
>  >  >> 01/26/2007 11:09 PM
>  >  >> Please respond to
>  >  >> axis-dev@ws.apache.org
>  >  >>
>  >  >>
>  >  >>
>  >  >> To
>  >  >>                axis-dev@ws.apache.org
>  >  >> cc
>  >  >>                dims@wso2.com
>  >  >> Subject
>  >  >>                JAXWSMessageReciever Marshaller Problem
>  >  >>
>  >  >>
>  >  >>
>  >  >>
>  >  >>
>  >  >>
>  >  >>
>  >  >>
>  >  >>
>  >  >> Hi,
>  >  >>
>  >  >> This is a problem arised in the Geronimo Axis2 integration with
>  >  >> JAXWSMessageReciever.
>  >  >>
>  >  >> I created an AxisService with a JAXWSMessageReciever as it's message
>  >  >> reciever and trying to invoke the service using
>  >  >> HTTPTransportUtils.processHTTPPostRequest() method. We are sending a RPC
>  >  >> based SOAPRequest to the service invocation.
>  >  >>
>  >  >> The JAXWSMessageReciever then creates Marshaller for the unmarshall
>  >  >> requests. This marshaller creation is entirely depends on the
>  >  >> EndpointInterfaceDescriptionImpl SOAPBinding style. By default it
>  >  > creates
>  >  >> a DocLiteralMarashaller and tries to unmarshall my RPC based request and
>  >  >> get failed with UnmarshallException :(. When I change the default
>  >  >> SOAPBinding style in EndpointInterfaceDescriptionImpl to RPC it works
>  >  > fine
>  >  >> (sure it's not the way to do it). Is this is the correct behaviour of
>  >  >> Marshal creation of JAXWSMessageReciever? Shouldn't it be depends on
>  >  >> SOAPMessage messaging mode too?
>  >  >>
>  >  >> BTW I have created a JIRA (AXIS2-2044) patch to remove some of the
>  >  >> misleading information gives in the Axis2 integrating it with Geronimo.
>  >  >>
>  >  >> Thanks,
>  >  >> Lasantha Ranaweera
>  >  >>
>  >  >> ---------------------------------------------------------------------
>  >  >> To unsubscribe, e-mail: axis-dev-unsubscribe@ws.apache.org
>  >  >> For additional commands, e-mail: axis-dev-help@ws.apache.org
>  >  >>
>  >  >>
>  >  >
>  >  >
>  >  >
>  >  > ---------------------------------------------------------------------
>  >  > To unsubscribe, e-mail: axis-dev-unsubscribe@ws.apache.org
>  >  > For additional commands, e-mail: axis-dev-help@ws.apache.org
>  >  >
>  >  >
>  >  > ---------------------------------------------------------------------
>  >  > To unsubscribe, e-mail: axis-dev-unsubscribe@ws.apache.org
>  >  > For additional commands, e-mail: axis-dev-help@ws.apache.org
>  >  >
>  >  >
>  >  >
>  >  ---------------------------------------------------------------------
>  >  To unsubscribe, e-mail: axis-dev-unsubscribe@ws.apache.org
>  >  For additional commands, e-mail: axis-dev-help@ws.apache.org
>  >  --=_alternative 005A88328625727D_=--
>  > ---------------------------------------------------------------------
>  > To unsubscribe, e-mail: axis-dev-unsubscribe@ws.apache.org
>  > For additional commands, e-mail: axis-dev-help@ws.apache.org
>  >
>  >
>
>
>
>  --
>  Davanum Srinivas :: http://wso2.org/ :: Oxygen for Web Services Developers
>
>  ---------------------------------------------------------------------
>  To unsubscribe, e-mail: axis-dev-unsubscribe@ws.apache.org
>  For additional commands, e-mail: axis-dev-help@ws.apache.org
>
>
>



-- 
Davanum Srinivas :: http://wso2.org/ :: Oxygen for Web Services Developers

---------------------------------------------------------------------
To unsubscribe, e-mail: axis-dev-unsubscribe@ws.apache.org
For additional commands, e-mail: axis-dev-help@ws.apache.org


Re: [Axis2] AXIS2-2155 - Re: JAXWSMessageReciever Marshaller Problem

Posted by R J Scheuerle Jr <sc...@us.ibm.com>.



Nick and I have discussed ways to architect the code to meet this
requirement.

I am going to investigate an initial solution and will report back at the
end of this week with my findings.

I will also change the JIRA over to me.

---------------
Note I have some reservations about supporting this requirement, but I
agree that providing some minimal support may be necessary.



Rich Scheuerle
IBM Web Services
Apache Axis2 (scheu@apache.org)
512-838-5115  (IBM TL 678-5115)

"Davanum Srinivas" <da...@gmail.com> wrote on 02/19/2007 08:23:46 AM:

> Till we cut RC1 :) say end of the month?
>
> thanks,
> dims
>
> On 2/19/07, Nicholas L Gallardo <nl...@us.ibm.com> wrote:
> > Hi Dims,
> >
> > I'd actually started on it last week, but didn't make as much progress
as
> > I'd hoped.
> >
> > When is the freeze date for the 1.2 release?
> >
> > Thanks,
> >
> > Nicholas Gallardo
> > WebSphere  -  WebServices Development
> > nlgallar@us.ibm.com
> > Phone: 512-838-1182
> > Building: 901 / 5G-016
> >
> >
> >
> > "Davanum Srinivas" <da...@gmail.com>
> > 02/17/2007 03:39 PM
> > Please respond to
> > axis-dev@ws.apache.org
> >
> >
> > To
> > axis-dev@ws.apache.org
> > cc
> >
> > Subject
> > [Axis2] AXIS2-2155 - Re: JAXWSMessageReciever Marshaller Problem
> >
> >
> >
> >
> >
> >
> > Rich, Nick,
> >
> > Any idea if we can fix this for 1.2 release?
> >
> > thanks,
> > dims
> >
> > On 2/9/07, Nicholas L Gallardo <nl...@us.ibm.com> wrote:
> > >
> > > Dims,
> > >
> > > By "the other SOAP engine", I'm assuming that's CXF?
> > >
> > > Our usage of JAXB right now is dependent upon root elements.  By
that, I
> > mean that the wrapper bean that's defined as the root element in the
> > schema.  These generated classes carry some additional annotations that
> > allow us to unmarshall them easily with JAXB.
> > >
> > > I discussed this with Rich and he had some ideas about ways we could
> > possibly get around this.  It will have to be a lower severity item
though
> > as we're working through some functional scenarios.  I've opened a JIRA
> > issue to track this.
> > >
> > > https://issues.apache.org/jira/browse/AXIS2-2155
> > >
> > > Regards,
> > >
> > > Nicholas Gallardo
> > >  WebSphere  -  WebServices Development
> > >  nlgallar@us.ibm.com
> > >  Phone: 512-838-1182
> > >  Building: 901 / 5G-016
> > >
> > >
> > >
> > >  "Davanum Srinivas" <da...@gmail.com>
> > >
> > > 02/09/2007 10:54 AM
> > >
> > > Please respond to
> > >  axis-dev@ws.apache.org
> > >
> > >
> > > To axis-dev@ws.apache.org
> > >
> > > cc
> > >
> > >
> > > Subject Re: JAXWSMessageReciever Marshaller Problem
> > >
> > >
> > >
> > >
> > >
> > >
> > >
> > >
> > > Nick,
> > >
> > >  The other soap engine inside Geronimo seems to work w/o needing the
> > >  wrapper classes. Anything we can do to get ours working too? w/o
> > >  having to run the xjc command with "-wsdl"? Is this planned, or out
of
> > >  scope?
> > >
> > >  thanks,
> > >  dims
> > >
> > >  On 2/9/07, Nicholas L Gallardo <nl...@us.ibm.com> wrote:
> > >  >
> > >  > Hi Lasantha,
> > >  >
> > >  > Sorry for the late response here.  You have correctly identified
the
> > missing piece though.  For services that are considered doc/lit wrapped
> > (the default for JAX-WS), it is required that the wrapper beans  be
> > generated.  You can get these by running the JAXB generation tool with
the
> > "-wsdl" flag I believe.  The JAX-WS runtime in Axis2 will not generate
> > these on the fly, but needs these classes to be able to
> > marshall/unmarshall the messages.
> > >  >
> > >  > Beyond that though, you don't need to include the @RequestWrapper
or
> > @ResponseWrapper annotations if the generated class names follow the
> > defaults:
> > >  >
> > >  >      - package name is the same as the SEI
> > >  >      - class names are OperationName and OperationNameResponse
with
> > the appropriate camel casing.
> > >  >
> > >  > Hope that helps...
> > >  >
> > >  > Regards,
> > >  >
> > >  > Nicholas Gallardo
> > >  >  WebSphere  -  WebServices Development
> > >  >  nlgallar@us.ibm.com
> > >  >  Phone: 512-838-1182
> > >  >  Building: 901 / 5G-016
> > >  >
> > >  >
> > >  >
> > >  >  "Lasantha Ranaweera" <la...@opensource.lk>
> > >  >
> > >  > 02/05/2007 09:54 AM
> > >  >
> > >  >
> > >  > Please respond to
> > >  >  axis-dev@ws.apache.org
> > >  >
> > >  >
> > >  > To axis-dev@ws.apache.org
> > >  >
> > >  > cc
> > >  >
> > >  >
> > >  > Subject RE: JAXWSMessageReciever Marshaller Problem
> > >  >
> > >  >
> > >  >
> > >  >
> > >  >
> > >  >
> > >  >
> > >  >
> > >  > Hi Nick,
> > >  >
> > >  >  Thank you very much for the giving some insight.
> > >  >
> > >  >  Say for example if are having Doc/Lit service with
@ResponsWrapper &
> > >  >  @RequestWrapper annotations, will the Axis2 generate intermediate
> > classes
> > >  >  for the JAXB binding automatically? Otherwise do we need to some
how
> > >  >  generate it & add it in to the archive?
> > >  >
> > >  >  First we are working on an example which has a WSDL and creating
> > >  >  annotations by hand using it's relevant composites.
> > >  >
> > >  >  Please find the attached WSDL, endpoint & endpoint impl class.
> > >  >
> > >  >  Any help would be greately appriciated.
> > >  >
> > >  >  Thanks,
> > >  >  Lasantha Ranaweera
> > >  >  > Lin,
> > >  >  >
> > >  >  > JAXB objects are not always required.  You could be using
simple
> > types
> > >  >  > that map base Java types like String, int, boolean, etc.  But,
in
> > all
> > >  >  > cases, we will use JAX-WS as a means to marshall/unmarshall
data
> > types.
> > >  >  >
> > >  >  > The exception you're seeing usually happens when the
JAXBContext
> > that is
> > >  >  > used to unmarshall the message is not configured correctly.
The
> > two
> > >  >  > messages that you see from JAXBUtils could be an indication of
the
> > problem
> > >  >  > depending on what pattern your service is following (wrapped
vs.
> > bare).
> > >  >  > I'm guessing wrapped since it went down into the
> > >  >  > DocLitWrappedMethodMarshaller.
> > >  >  >
> > >  >  > Overall, we need one of two things to be able to configure the
> > JAXBContext
> > >  >  > correctly and unmarshall the incoming request.
> > >  >  >
> > >  >  > a) If it's wrapped, then you need to have an @RequestWrapper
and
> > >  >  > @ResponseWrapper annotation on your operation.  That can be
used
> > by JAXB
> > >  >  > to pick-up the wrapper classes that are defined for that
> > operation.
> > >  >  >
> > >  >  > b) If it's not wrapped, then you will need to have an
> > ObjectFactory.  The
> > >  >  > ObjectFactory can be used by the JAXBContext under the covers
to
> > figure
> > >  >  > out how to unmarshall elements that don't have custom types
> > defined.
> > >  >  > Without this though, the unmarhaller wont' work.
> > >  >  >
> > >  >  > Can you post an example of the endpoint that you're trying to
> > deploy and
> > >  >  > what annotations it has on it?  Is this endpoint being deployed
> > with or
> > >  >  > without a WSDL?
> > >  >  >
> > >  >  > Regards,
> > >  >  >
> > >  >  > Nicholas Gallardo
> > >  >  > WebSphere  -  WebServices Development
> > >  >  > nlgallar@us.ibm.com
> > >  >  > Phone: 512-838-1182
> > >  >  > Building: 901 / 5G-016
> > >  >  >
> > >  >  >
> > >  >  >
> > >  >  > "Lin Sun" <li...@gmail.com>
> > >  >  > 02/04/2007 09:50 PM
> > >  >  > Please respond to
> > >  >  > axis-dev@ws.apache.org
> > >  >  >
> > >  >  >
> > >  >  > To
> > >  >  > <ax...@ws.apache.org>
> > >  >  > cc
> > >  >  >
> > >  >  > Subject
> > >  >  > RE: JAXWSMessageReciever Marshaller Problem
> > >  >  >
> > >  >  >
> > >  >  >
> > >  >  >
> > >  >  >
> > >  >  >
> > >  >  > Hi there,
> > >  >  >
> > >  >  > A basic question, are jaxb objects required in a simple hello
> > jax-ws
> > >  >  > application?   I think I am running the same test as Lasantha
and
> > this
> > >  >  > test
> > >  >  > doesn't have any jaxb generated classes in the war file.  Axis2
> > did choose
> > >  >  > to use DocLitWrappedMethodMarshaller to do the marshaller work
and
> > the
> > >  >  > following exception was thrown when message.getBodyBlock(0,
> > blockContext,
> > >  >  > factory) is called.
> > >  >  >
> > >  >  > javax.xml.bind.UnmarshalException
> > >  >  >  - with linked exception:
> > >  >  > [javax.xml.bind.UnmarshalException: unexpected element
> > >  >  > (uri:"http://apache.org/hello_world_soap_http",
local:"greetMe").
> > Expected
> > >  >  > elements are (none)]
> > >  >  >
> > >  >  > I also saw
> > >  >  >
> > >  >  > 21:50:34,781 INFO  [JAXBUtils] ObjectFactory Class Not Found
> > >  >  > 21:50:34,828 INFO  [JAXBUtils] package-info Class Not Found
> > >  >  >
> > >  >  > in my console log, which seems to indicate that axis2 requires
the
> > >  >  > existence
> > >  >  > of the ObjectFactory Class and package-info Class (part of jaxb
> > generated
> > >  >  > classes) in the test application?
> > >  >  >
> > >  >  > This same jax-ws test works with CXF integration into Geronimo
so
> > I
> > >  >  > thought
> > >  >  > it would be okay to not have jaxb objects in the application
> > archive.
> > >  >  > However, missing it seems to cause the UnmarshalException.
> > >  >  >
> > >  >  > Any help is appreciated.
> > >  >  >
> > >  >  > Lin
> > >  >  >
> > >  >  > -----Original Message-----
> > >  >  > From: Lasantha Ranaweera [mailto:lasantha@opensource.lk]
> > >  >  > Sent: Wednesday, January 31, 2007 1:33 AM
> > >  >  > To: axis-dev@ws.apache.org
> > >  >  > Subject: Re: JAXWSMessageReciever Marshaller Problem
> > >  >  >
> > >  >  > Hi Nich,
> > >  >  >
> > >  >  > Thank you very much for the information. I have uploaded latest
> > patch
> > >  >  > (number 2) to the Geronimo list under GERONIMO-2776.
> > >  >  >
> > >  >  > I am basically trying to read a WSDL and  create JAXWS service
by
> > hand
> > >  >  > filling necessary composites for situations where class level
> > >  >  > annotations are not provided.
> > >  >  >
> > >  >  > After some debugging sessions understand this is due to the
> > missing JAXB
> > >  >  > objects in my application archive. It would be ideal if you can
> > explain
> > >  >  > me how the JAXB bindings work for the JAXWS in the Axis2 side.
:-)
> > >  >  >
> > >  >  > Also is there any publicly available articles to refer JAXWS
stuff
> > on
> > >  >  > the Axis2?
> > >  >  >
> > >  >  > Thanks Again,
> > >  >  > Lasantha
> > >  >  >
> > >  >  > Nicholas L Gallardo wrote:
> > >  >  >>
> > >  >  >> Hi Lasantha,
> > >  >  >>
> > >  >  >> Sorry for the delayed response here.
> > >  >  >>
> > >  >  >> I think I need to understand how you're deploying/configuring
the
> > >  >  >> endpoint before I can provide guidance on what's going on
here. I
> > >  >  >> know we've already started the Geronimo integration, but I
think
> > some
> > >  >  >> of that is going to (or should probably) rely on similar work
> > that
> > >  >  >> needs to be done in Axis2.  Do you have some information or
> > >  >  >> architecture that you can share for how this is being done?
> > >  >  >>
> > >  >  >> As far as this situation, the unmarshalling is going to be
> > predicated
> > >  >  >> on what style of WSDL you have.  If you've just annotated a
POJO
> > and
> > >  >  >> then deployed that, the default WSDL mapping is to a
> > Document/Literal
> > >  >  >> Wrapped style WSDL.  You can use the SOAPBinding annotation as
> > you've
> > >  >  >> already seen to toggle between a Document and RPC style.  Only
> > >  >  >> "literal" use is supported.  JAX-WS does not support
RPC/Encoded
> > style
> > >  >  >> WSDLs.
> > >  >  >>
> > >  >  >> At a high level what will happen is, after the request comes
in
> > to the
> > >  >  >> JAXWSMessageReceiver, a decision will be made as to what
> > >  >  >> MethodMarshaller needs to be loaded.  This decision is based
on
> > the
> > >  >  >> information in the EndpointDescription/OperationDescription.
Each
> > of
> > >  >  >> those objects is a view of the WSDL and annotation information
> > >  >  >> available for an endpoint/operation.  If those are not
configured
> > >  >  >> correctly, then you won't have the right MethodMarshaller.
> > >  >  >>
> > >  >  >> Is the scenario that you have intended to truly be based on an
> > "RPC"
> > >  >  >> style WSDL (as opposed to a "Document" style)?  I'm assuming
that
> > the
> > >  >  >> RPC in the RPCMessageReceiver is referring more to the fact
that
> > it's
> > >  >  >> for services that are based on an interaction that people
would
> > >  >  >> consider RPC over a messaging style interaction.  Is that
> > correct?
> > >  >  >>
> > >  >  >> Regards,
> > >  >  >>
> > >  >  >> Nicholas Gallardo
> > >  >  >> WebSphere  -  WebServices Development
> > >  >  >> nlgallar@us.ibm.com
> > >  >  >> Phone: 512-838-1182
> > >  >  >> Building: 901 / 5G-016
> > >  >  >>
> > >  >  >>
> > >  >  >> *"Lasantha Ranaweera" <la...@opensource.lk>*
> > >  >  >>
> > >  >  >> 01/26/2007 11:09 PM
> > >  >  >> Please respond to
> > >  >  >> axis-dev@ws.apache.org
> > >  >  >>
> > >  >  >>
> > >  >  >>
> > >  >  >> To
> > >  >  >>                axis-dev@ws.apache.org
> > >  >  >> cc
> > >  >  >>                dims@wso2.com
> > >  >  >> Subject
> > >  >  >>                JAXWSMessageReciever Marshaller Problem
> > >  >  >>
> > >  >  >>
> > >  >  >>
> > >  >  >>
> > >  >  >>
> > >  >  >>
> > >  >  >>
> > >  >  >>
> > >  >  >>
> > >  >  >> Hi,
> > >  >  >>
> > >  >  >> This is a problem arised in the Geronimo Axis2 integration
with
> > >  >  >> JAXWSMessageReciever.
> > >  >  >>
> > >  >  >> I created an AxisService with a JAXWSMessageReciever as it's
> > message
> > >  >  >> reciever and trying to invoke the service using
> > >  >  >> HTTPTransportUtils.processHTTPPostRequest() method. We are
> > sending a RPC
> > >  >  >> based SOAPRequest to the service invocation.
> > >  >  >>
> > >  >  >> The JAXWSMessageReciever then creates Marshaller for the
> > unmarshall
> > >  >  >> requests. This marshaller creation is entirely depends on the
> > >  >  >> EndpointInterfaceDescriptionImpl SOAPBinding style. By default
it
> > >  >  > creates
> > >  >  >> a DocLiteralMarashaller and tries to unmarshall my RPC based
> > request and
> > >  >  >> get failed with UnmarshallException :(. When I change the
default
> > >  >  >> SOAPBinding style in EndpointInterfaceDescriptionImpl to RPC
it
> > works
> > >  >  > fine
> > >  >  >> (sure it's not the way to do it). Is this is the correct
> > behaviour of
> > >  >  >> Marshal creation of JAXWSMessageReciever? Shouldn't it be
depends
> > on
> > >  >  >> SOAPMessage messaging mode too?
> > >  >  >>
> > >  >  >> BTW I have created a JIRA (AXIS2-2044) patch to remove some of
> > the
> > >  >  >> misleading information gives in the Axis2 integrating it with
> > Geronimo.
> > >  >  >>
> > >  >  >> Thanks,
> > >  >  >> Lasantha Ranaweera
> > >  >  >>
> > >  >  >>
> > ---------------------------------------------------------------------
> > >  >  >> To unsubscribe, e-mail: axis-dev-unsubscribe@ws.apache.org
> > >  >  >> For additional commands, e-mail: axis-dev-help@ws.apache.org
> > >  >  >>
> > >  >  >>
> > >  >  >
> > >  >  >
> > >  >  >
> > >  >  >
> > ---------------------------------------------------------------------
> > >  >  > To unsubscribe, e-mail: axis-dev-unsubscribe@ws.apache.org
> > >  >  > For additional commands, e-mail: axis-dev-help@ws.apache.org
> > >  >  >
> > >  >  >
> > >  >  >
> > ---------------------------------------------------------------------
> > >  >  > To unsubscribe, e-mail: axis-dev-unsubscribe@ws.apache.org
> > >  >  > For additional commands, e-mail: axis-dev-help@ws.apache.org
> > >  >  >
> > >  >  >
> > >  >  >
> > >  >
---------------------------------------------------------------------
> > >  >  To unsubscribe, e-mail: axis-dev-unsubscribe@ws.apache.org
> > >  >  For additional commands, e-mail: axis-dev-help@ws.apache.org
> > >  >  --=_alternative 005A88328625727D_=--
> > >  >
---------------------------------------------------------------------
> > >  > To unsubscribe, e-mail: axis-dev-unsubscribe@ws.apache.org
> > >  > For additional commands, e-mail: axis-dev-help@ws.apache.org
> > >  >
> > >  >
> > >
> > >
> > >
> > >  --
> > >  Davanum Srinivas :: http://wso2.org/ :: Oxygen for Web Services
> > Developers
> > >
> > >
---------------------------------------------------------------------
> > >  To unsubscribe, e-mail: axis-dev-unsubscribe@ws.apache.org
> > >  For additional commands, e-mail: axis-dev-help@ws.apache.org
> > >
> > >
> > >
> >
> >
> >
> > --
> > Davanum Srinivas :: http://wso2.org/ :: Oxygen for Web Services
Developers
> >
> > ---------------------------------------------------------------------
> > To unsubscribe, e-mail: axis-dev-unsubscribe@ws.apache.org
> > For additional commands, e-mail: axis-dev-help@ws.apache.org
> >
> >
> >
> >
> > ---------------------------------------------------------------------
> > To unsubscribe, e-mail: axis-dev-unsubscribe@ws.apache.org
> > For additional commands, e-mail: axis-dev-help@ws.apache.org
> >
> >
>
>
> --
> Davanum Srinivas :: http://wso2.org/ :: Oxygen for Web Services
Developers
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: axis-dev-unsubscribe@ws.apache.org
> For additional commands, e-mail: axis-dev-help@ws.apache.org
>

Re: [Axis2] AXIS2-2155 - Re: JAXWSMessageReciever Marshaller Problem

Posted by Davanum Srinivas <da...@gmail.com>.
Till we cut RC1 :) say end of the month?

thanks,
dims

On 2/19/07, Nicholas L Gallardo <nl...@us.ibm.com> wrote:
> Hi Dims,
>
> I'd actually started on it last week, but didn't make as much progress as
> I'd hoped.
>
> When is the freeze date for the 1.2 release?
>
> Thanks,
>
> Nicholas Gallardo
> WebSphere  -  WebServices Development
> nlgallar@us.ibm.com
> Phone: 512-838-1182
> Building: 901 / 5G-016
>
>
>
> "Davanum Srinivas" <da...@gmail.com>
> 02/17/2007 03:39 PM
> Please respond to
> axis-dev@ws.apache.org
>
>
> To
> axis-dev@ws.apache.org
> cc
>
> Subject
> [Axis2] AXIS2-2155 - Re: JAXWSMessageReciever Marshaller Problem
>
>
>
>
>
>
> Rich, Nick,
>
> Any idea if we can fix this for 1.2 release?
>
> thanks,
> dims
>
> On 2/9/07, Nicholas L Gallardo <nl...@us.ibm.com> wrote:
> >
> > Dims,
> >
> > By "the other SOAP engine", I'm assuming that's CXF?
> >
> > Our usage of JAXB right now is dependent upon root elements.  By that, I
> mean that the wrapper bean that's defined as the root element in the
> schema.  These generated classes carry some additional annotations that
> allow us to unmarshall them easily with JAXB.
> >
> > I discussed this with Rich and he had some ideas about ways we could
> possibly get around this.  It will have to be a lower severity item though
> as we're working through some functional scenarios.  I've opened a JIRA
> issue to track this.
> >
> > https://issues.apache.org/jira/browse/AXIS2-2155
> >
> > Regards,
> >
> > Nicholas Gallardo
> >  WebSphere  -  WebServices Development
> >  nlgallar@us.ibm.com
> >  Phone: 512-838-1182
> >  Building: 901 / 5G-016
> >
> >
> >
> >  "Davanum Srinivas" <da...@gmail.com>
> >
> > 02/09/2007 10:54 AM
> >
> > Please respond to
> >  axis-dev@ws.apache.org
> >
> >
> > To axis-dev@ws.apache.org
> >
> > cc
> >
> >
> > Subject Re: JAXWSMessageReciever Marshaller Problem
> >
> >
> >
> >
> >
> >
> >
> >
> > Nick,
> >
> >  The other soap engine inside Geronimo seems to work w/o needing the
> >  wrapper classes. Anything we can do to get ours working too? w/o
> >  having to run the xjc command with "-wsdl"? Is this planned, or out of
> >  scope?
> >
> >  thanks,
> >  dims
> >
> >  On 2/9/07, Nicholas L Gallardo <nl...@us.ibm.com> wrote:
> >  >
> >  > Hi Lasantha,
> >  >
> >  > Sorry for the late response here.  You have correctly identified the
> missing piece though.  For services that are considered doc/lit wrapped
> (the default for JAX-WS), it is required that the wrapper beans  be
> generated.  You can get these by running the JAXB generation tool with the
> "-wsdl" flag I believe.  The JAX-WS runtime in Axis2 will not generate
> these on the fly, but needs these classes to be able to
> marshall/unmarshall the messages.
> >  >
> >  > Beyond that though, you don't need to include the @RequestWrapper or
> @ResponseWrapper annotations if the generated class names follow the
> defaults:
> >  >
> >  >      - package name is the same as the SEI
> >  >      - class names are OperationName and OperationNameResponse with
> the appropriate camel casing.
> >  >
> >  > Hope that helps...
> >  >
> >  > Regards,
> >  >
> >  > Nicholas Gallardo
> >  >  WebSphere  -  WebServices Development
> >  >  nlgallar@us.ibm.com
> >  >  Phone: 512-838-1182
> >  >  Building: 901 / 5G-016
> >  >
> >  >
> >  >
> >  >  "Lasantha Ranaweera" <la...@opensource.lk>
> >  >
> >  > 02/05/2007 09:54 AM
> >  >
> >  >
> >  > Please respond to
> >  >  axis-dev@ws.apache.org
> >  >
> >  >
> >  > To axis-dev@ws.apache.org
> >  >
> >  > cc
> >  >
> >  >
> >  > Subject RE: JAXWSMessageReciever Marshaller Problem
> >  >
> >  >
> >  >
> >  >
> >  >
> >  >
> >  >
> >  >
> >  > Hi Nick,
> >  >
> >  >  Thank you very much for the giving some insight.
> >  >
> >  >  Say for example if are having Doc/Lit service with @ResponsWrapper &
> >  >  @RequestWrapper annotations, will the Axis2 generate intermediate
> classes
> >  >  for the JAXB binding automatically? Otherwise do we need to some how
> >  >  generate it & add it in to the archive?
> >  >
> >  >  First we are working on an example which has a WSDL and creating
> >  >  annotations by hand using it's relevant composites.
> >  >
> >  >  Please find the attached WSDL, endpoint & endpoint impl class.
> >  >
> >  >  Any help would be greately appriciated.
> >  >
> >  >  Thanks,
> >  >  Lasantha Ranaweera
> >  >  > Lin,
> >  >  >
> >  >  > JAXB objects are not always required.  You could be using simple
> types
> >  >  > that map base Java types like String, int, boolean, etc.  But, in
> all
> >  >  > cases, we will use JAX-WS as a means to marshall/unmarshall data
> types.
> >  >  >
> >  >  > The exception you're seeing usually happens when the JAXBContext
> that is
> >  >  > used to unmarshall the message is not configured correctly.  The
> two
> >  >  > messages that you see from JAXBUtils could be an indication of the
> problem
> >  >  > depending on what pattern your service is following (wrapped vs.
> bare).
> >  >  > I'm guessing wrapped since it went down into the
> >  >  > DocLitWrappedMethodMarshaller.
> >  >  >
> >  >  > Overall, we need one of two things to be able to configure the
> JAXBContext
> >  >  > correctly and unmarshall the incoming request.
> >  >  >
> >  >  > a) If it's wrapped, then you need to have an @RequestWrapper and
> >  >  > @ResponseWrapper annotation on your operation.  That can be used
> by JAXB
> >  >  > to pick-up the wrapper classes that are defined for that
> operation.
> >  >  >
> >  >  > b) If it's not wrapped, then you will need to have an
> ObjectFactory.  The
> >  >  > ObjectFactory can be used by the JAXBContext under the covers to
> figure
> >  >  > out how to unmarshall elements that don't have custom types
> defined.
> >  >  > Without this though, the unmarhaller wont' work.
> >  >  >
> >  >  > Can you post an example of the endpoint that you're trying to
> deploy and
> >  >  > what annotations it has on it?  Is this endpoint being deployed
> with or
> >  >  > without a WSDL?
> >  >  >
> >  >  > Regards,
> >  >  >
> >  >  > Nicholas Gallardo
> >  >  > WebSphere  -  WebServices Development
> >  >  > nlgallar@us.ibm.com
> >  >  > Phone: 512-838-1182
> >  >  > Building: 901 / 5G-016
> >  >  >
> >  >  >
> >  >  >
> >  >  > "Lin Sun" <li...@gmail.com>
> >  >  > 02/04/2007 09:50 PM
> >  >  > Please respond to
> >  >  > axis-dev@ws.apache.org
> >  >  >
> >  >  >
> >  >  > To
> >  >  > <ax...@ws.apache.org>
> >  >  > cc
> >  >  >
> >  >  > Subject
> >  >  > RE: JAXWSMessageReciever Marshaller Problem
> >  >  >
> >  >  >
> >  >  >
> >  >  >
> >  >  >
> >  >  >
> >  >  > Hi there,
> >  >  >
> >  >  > A basic question, are jaxb objects required in a simple hello
> jax-ws
> >  >  > application?   I think I am running the same test as Lasantha and
> this
> >  >  > test
> >  >  > doesn't have any jaxb generated classes in the war file.  Axis2
> did choose
> >  >  > to use DocLitWrappedMethodMarshaller to do the marshaller work and
> the
> >  >  > following exception was thrown when message.getBodyBlock(0,
> blockContext,
> >  >  > factory) is called.
> >  >  >
> >  >  > javax.xml.bind.UnmarshalException
> >  >  >  - with linked exception:
> >  >  > [javax.xml.bind.UnmarshalException: unexpected element
> >  >  > (uri:"http://apache.org/hello_world_soap_http", local:"greetMe").
> Expected
> >  >  > elements are (none)]
> >  >  >
> >  >  > I also saw
> >  >  >
> >  >  > 21:50:34,781 INFO  [JAXBUtils] ObjectFactory Class Not Found
> >  >  > 21:50:34,828 INFO  [JAXBUtils] package-info Class Not Found
> >  >  >
> >  >  > in my console log, which seems to indicate that axis2 requires the
> >  >  > existence
> >  >  > of the ObjectFactory Class and package-info Class (part of jaxb
> generated
> >  >  > classes) in the test application?
> >  >  >
> >  >  > This same jax-ws test works with CXF integration into Geronimo so
> I
> >  >  > thought
> >  >  > it would be okay to not have jaxb objects in the application
> archive.
> >  >  > However, missing it seems to cause the UnmarshalException.
> >  >  >
> >  >  > Any help is appreciated.
> >  >  >
> >  >  > Lin
> >  >  >
> >  >  > -----Original Message-----
> >  >  > From: Lasantha Ranaweera [mailto:lasantha@opensource.lk]
> >  >  > Sent: Wednesday, January 31, 2007 1:33 AM
> >  >  > To: axis-dev@ws.apache.org
> >  >  > Subject: Re: JAXWSMessageReciever Marshaller Problem
> >  >  >
> >  >  > Hi Nich,
> >  >  >
> >  >  > Thank you very much for the information. I have uploaded latest
> patch
> >  >  > (number 2) to the Geronimo list under GERONIMO-2776.
> >  >  >
> >  >  > I am basically trying to read a WSDL and  create JAXWS service by
> hand
> >  >  > filling necessary composites for situations where class level
> >  >  > annotations are not provided.
> >  >  >
> >  >  > After some debugging sessions understand this is due to the
> missing JAXB
> >  >  > objects in my application archive. It would be ideal if you can
> explain
> >  >  > me how the JAXB bindings work for the JAXWS in the Axis2 side. :-)
> >  >  >
> >  >  > Also is there any publicly available articles to refer JAXWS stuff
> on
> >  >  > the Axis2?
> >  >  >
> >  >  > Thanks Again,
> >  >  > Lasantha
> >  >  >
> >  >  > Nicholas L Gallardo wrote:
> >  >  >>
> >  >  >> Hi Lasantha,
> >  >  >>
> >  >  >> Sorry for the delayed response here.
> >  >  >>
> >  >  >> I think I need to understand how you're deploying/configuring the
> >  >  >> endpoint before I can provide guidance on what's going on here. I
> >  >  >> know we've already started the Geronimo integration, but I think
> some
> >  >  >> of that is going to (or should probably) rely on similar work
> that
> >  >  >> needs to be done in Axis2.  Do you have some information or
> >  >  >> architecture that you can share for how this is being done?
> >  >  >>
> >  >  >> As far as this situation, the unmarshalling is going to be
> predicated
> >  >  >> on what style of WSDL you have.  If you've just annotated a POJO
> and
> >  >  >> then deployed that, the default WSDL mapping is to a
> Document/Literal
> >  >  >> Wrapped style WSDL.  You can use the SOAPBinding annotation as
> you've
> >  >  >> already seen to toggle between a Document and RPC style.  Only
> >  >  >> "literal" use is supported.  JAX-WS does not support RPC/Encoded
> style
> >  >  >> WSDLs.
> >  >  >>
> >  >  >> At a high level what will happen is, after the request comes in
> to the
> >  >  >> JAXWSMessageReceiver, a decision will be made as to what
> >  >  >> MethodMarshaller needs to be loaded.  This decision is based on
> the
> >  >  >> information in the EndpointDescription/OperationDescription. Each
> of
> >  >  >> those objects is a view of the WSDL and annotation information
> >  >  >> available for an endpoint/operation.  If those are not configured
> >  >  >> correctly, then you won't have the right MethodMarshaller.
> >  >  >>
> >  >  >> Is the scenario that you have intended to truly be based on an
> "RPC"
> >  >  >> style WSDL (as opposed to a "Document" style)?  I'm assuming that
> the
> >  >  >> RPC in the RPCMessageReceiver is referring more to the fact that
> it's
> >  >  >> for services that are based on an interaction that people would
> >  >  >> consider RPC over a messaging style interaction.  Is that
> correct?
> >  >  >>
> >  >  >> Regards,
> >  >  >>
> >  >  >> Nicholas Gallardo
> >  >  >> WebSphere  -  WebServices Development
> >  >  >> nlgallar@us.ibm.com
> >  >  >> Phone: 512-838-1182
> >  >  >> Building: 901 / 5G-016
> >  >  >>
> >  >  >>
> >  >  >> *"Lasantha Ranaweera" <la...@opensource.lk>*
> >  >  >>
> >  >  >> 01/26/2007 11:09 PM
> >  >  >> Please respond to
> >  >  >> axis-dev@ws.apache.org
> >  >  >>
> >  >  >>
> >  >  >>
> >  >  >> To
> >  >  >>                axis-dev@ws.apache.org
> >  >  >> cc
> >  >  >>                dims@wso2.com
> >  >  >> Subject
> >  >  >>                JAXWSMessageReciever Marshaller Problem
> >  >  >>
> >  >  >>
> >  >  >>
> >  >  >>
> >  >  >>
> >  >  >>
> >  >  >>
> >  >  >>
> >  >  >>
> >  >  >> Hi,
> >  >  >>
> >  >  >> This is a problem arised in the Geronimo Axis2 integration with
> >  >  >> JAXWSMessageReciever.
> >  >  >>
> >  >  >> I created an AxisService with a JAXWSMessageReciever as it's
> message
> >  >  >> reciever and trying to invoke the service using
> >  >  >> HTTPTransportUtils.processHTTPPostRequest() method. We are
> sending a RPC
> >  >  >> based SOAPRequest to the service invocation.
> >  >  >>
> >  >  >> The JAXWSMessageReciever then creates Marshaller for the
> unmarshall
> >  >  >> requests. This marshaller creation is entirely depends on the
> >  >  >> EndpointInterfaceDescriptionImpl SOAPBinding style. By default it
> >  >  > creates
> >  >  >> a DocLiteralMarashaller and tries to unmarshall my RPC based
> request and
> >  >  >> get failed with UnmarshallException :(. When I change the default
> >  >  >> SOAPBinding style in EndpointInterfaceDescriptionImpl to RPC it
> works
> >  >  > fine
> >  >  >> (sure it's not the way to do it). Is this is the correct
> behaviour of
> >  >  >> Marshal creation of JAXWSMessageReciever? Shouldn't it be depends
> on
> >  >  >> SOAPMessage messaging mode too?
> >  >  >>
> >  >  >> BTW I have created a JIRA (AXIS2-2044) patch to remove some of
> the
> >  >  >> misleading information gives in the Axis2 integrating it with
> Geronimo.
> >  >  >>
> >  >  >> Thanks,
> >  >  >> Lasantha Ranaweera
> >  >  >>
> >  >  >>
> ---------------------------------------------------------------------
> >  >  >> To unsubscribe, e-mail: axis-dev-unsubscribe@ws.apache.org
> >  >  >> For additional commands, e-mail: axis-dev-help@ws.apache.org
> >  >  >>
> >  >  >>
> >  >  >
> >  >  >
> >  >  >
> >  >  >
> ---------------------------------------------------------------------
> >  >  > To unsubscribe, e-mail: axis-dev-unsubscribe@ws.apache.org
> >  >  > For additional commands, e-mail: axis-dev-help@ws.apache.org
> >  >  >
> >  >  >
> >  >  >
> ---------------------------------------------------------------------
> >  >  > To unsubscribe, e-mail: axis-dev-unsubscribe@ws.apache.org
> >  >  > For additional commands, e-mail: axis-dev-help@ws.apache.org
> >  >  >
> >  >  >
> >  >  >
> >  > ---------------------------------------------------------------------
> >  >  To unsubscribe, e-mail: axis-dev-unsubscribe@ws.apache.org
> >  >  For additional commands, e-mail: axis-dev-help@ws.apache.org
> >  >  --=_alternative 005A88328625727D_=--
> >  > ---------------------------------------------------------------------
> >  > To unsubscribe, e-mail: axis-dev-unsubscribe@ws.apache.org
> >  > For additional commands, e-mail: axis-dev-help@ws.apache.org
> >  >
> >  >
> >
> >
> >
> >  --
> >  Davanum Srinivas :: http://wso2.org/ :: Oxygen for Web Services
> Developers
> >
> >  ---------------------------------------------------------------------
> >  To unsubscribe, e-mail: axis-dev-unsubscribe@ws.apache.org
> >  For additional commands, e-mail: axis-dev-help@ws.apache.org
> >
> >
> >
>
>
>
> --
> Davanum Srinivas :: http://wso2.org/ :: Oxygen for Web Services Developers
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: axis-dev-unsubscribe@ws.apache.org
> For additional commands, e-mail: axis-dev-help@ws.apache.org
>
>
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: axis-dev-unsubscribe@ws.apache.org
> For additional commands, e-mail: axis-dev-help@ws.apache.org
>
>


-- 
Davanum Srinivas :: http://wso2.org/ :: Oxygen for Web Services Developers

---------------------------------------------------------------------
To unsubscribe, e-mail: axis-dev-unsubscribe@ws.apache.org
For additional commands, e-mail: axis-dev-help@ws.apache.org


Re: [Axis2] AXIS2-2155 - Re: JAXWSMessageReciever Marshaller Problem

Posted by Nicholas L Gallardo <nl...@us.ibm.com>.
Hi Dims,

I'd actually started on it last week, but didn't make as much progress as 
I'd hoped.

When is the freeze date for the 1.2 release? 

Thanks,

Nicholas Gallardo
WebSphere  -  WebServices Development
nlgallar@us.ibm.com
Phone: 512-838-1182
Building: 901 / 5G-016



"Davanum Srinivas" <da...@gmail.com> 
02/17/2007 03:39 PM
Please respond to
axis-dev@ws.apache.org


To
axis-dev@ws.apache.org
cc

Subject
[Axis2] AXIS2-2155 - Re: JAXWSMessageReciever Marshaller Problem






Rich, Nick,

Any idea if we can fix this for 1.2 release?

thanks,
dims

On 2/9/07, Nicholas L Gallardo <nl...@us.ibm.com> wrote:
>
> Dims,
>
> By "the other SOAP engine", I'm assuming that's CXF?
>
> Our usage of JAXB right now is dependent upon root elements.  By that, I 
mean that the wrapper bean that's defined as the root element in the 
schema.  These generated classes carry some additional annotations that 
allow us to unmarshall them easily with JAXB.
>
> I discussed this with Rich and he had some ideas about ways we could 
possibly get around this.  It will have to be a lower severity item though 
as we're working through some functional scenarios.  I've opened a JIRA 
issue to track this.
>
> https://issues.apache.org/jira/browse/AXIS2-2155
>
> Regards,
>
> Nicholas Gallardo
>  WebSphere  -  WebServices Development
>  nlgallar@us.ibm.com
>  Phone: 512-838-1182
>  Building: 901 / 5G-016
>
>
>
>  "Davanum Srinivas" <da...@gmail.com>
>
> 02/09/2007 10:54 AM
>
> Please respond to
>  axis-dev@ws.apache.org
>
>
> To axis-dev@ws.apache.org
>
> cc
>
>
> Subject Re: JAXWSMessageReciever Marshaller Problem
>
>
>
>
>
>
>
>
> Nick,
>
>  The other soap engine inside Geronimo seems to work w/o needing the
>  wrapper classes. Anything we can do to get ours working too? w/o
>  having to run the xjc command with "-wsdl"? Is this planned, or out of
>  scope?
>
>  thanks,
>  dims
>
>  On 2/9/07, Nicholas L Gallardo <nl...@us.ibm.com> wrote:
>  >
>  > Hi Lasantha,
>  >
>  > Sorry for the late response here.  You have correctly identified the 
missing piece though.  For services that are considered doc/lit wrapped 
(the default for JAX-WS), it is required that the wrapper beans  be 
generated.  You can get these by running the JAXB generation tool with the 
"-wsdl" flag I believe.  The JAX-WS runtime in Axis2 will not generate 
these on the fly, but needs these classes to be able to 
marshall/unmarshall the messages.
>  >
>  > Beyond that though, you don't need to include the @RequestWrapper or 
@ResponseWrapper annotations if the generated class names follow the 
defaults:
>  >
>  >      - package name is the same as the SEI
>  >      - class names are OperationName and OperationNameResponse with 
the appropriate camel casing.
>  >
>  > Hope that helps...
>  >
>  > Regards,
>  >
>  > Nicholas Gallardo
>  >  WebSphere  -  WebServices Development
>  >  nlgallar@us.ibm.com
>  >  Phone: 512-838-1182
>  >  Building: 901 / 5G-016
>  >
>  >
>  >
>  >  "Lasantha Ranaweera" <la...@opensource.lk>
>  >
>  > 02/05/2007 09:54 AM
>  >
>  >
>  > Please respond to
>  >  axis-dev@ws.apache.org
>  >
>  >
>  > To axis-dev@ws.apache.org
>  >
>  > cc
>  >
>  >
>  > Subject RE: JAXWSMessageReciever Marshaller Problem
>  >
>  >
>  >
>  >
>  >
>  >
>  >
>  >
>  > Hi Nick,
>  >
>  >  Thank you very much for the giving some insight.
>  >
>  >  Say for example if are having Doc/Lit service with @ResponsWrapper &
>  >  @RequestWrapper annotations, will the Axis2 generate intermediate 
classes
>  >  for the JAXB binding automatically? Otherwise do we need to some how
>  >  generate it & add it in to the archive?
>  >
>  >  First we are working on an example which has a WSDL and creating
>  >  annotations by hand using it's relevant composites.
>  >
>  >  Please find the attached WSDL, endpoint & endpoint impl class.
>  >
>  >  Any help would be greately appriciated.
>  >
>  >  Thanks,
>  >  Lasantha Ranaweera
>  >  > Lin,
>  >  >
>  >  > JAXB objects are not always required.  You could be using simple 
types
>  >  > that map base Java types like String, int, boolean, etc.  But, in 
all
>  >  > cases, we will use JAX-WS as a means to marshall/unmarshall data 
types.
>  >  >
>  >  > The exception you're seeing usually happens when the JAXBContext 
that is
>  >  > used to unmarshall the message is not configured correctly.  The 
two
>  >  > messages that you see from JAXBUtils could be an indication of the 
problem
>  >  > depending on what pattern your service is following (wrapped vs. 
bare).
>  >  > I'm guessing wrapped since it went down into the
>  >  > DocLitWrappedMethodMarshaller.
>  >  >
>  >  > Overall, we need one of two things to be able to configure the 
JAXBContext
>  >  > correctly and unmarshall the incoming request.
>  >  >
>  >  > a) If it's wrapped, then you need to have an @RequestWrapper and
>  >  > @ResponseWrapper annotation on your operation.  That can be used 
by JAXB
>  >  > to pick-up the wrapper classes that are defined for that 
operation.
>  >  >
>  >  > b) If it's not wrapped, then you will need to have an 
ObjectFactory.  The
>  >  > ObjectFactory can be used by the JAXBContext under the covers to 
figure
>  >  > out how to unmarshall elements that don't have custom types 
defined.
>  >  > Without this though, the unmarhaller wont' work.
>  >  >
>  >  > Can you post an example of the endpoint that you're trying to 
deploy and
>  >  > what annotations it has on it?  Is this endpoint being deployed 
with or
>  >  > without a WSDL?
>  >  >
>  >  > Regards,
>  >  >
>  >  > Nicholas Gallardo
>  >  > WebSphere  -  WebServices Development
>  >  > nlgallar@us.ibm.com
>  >  > Phone: 512-838-1182
>  >  > Building: 901 / 5G-016
>  >  >
>  >  >
>  >  >
>  >  > "Lin Sun" <li...@gmail.com>
>  >  > 02/04/2007 09:50 PM
>  >  > Please respond to
>  >  > axis-dev@ws.apache.org
>  >  >
>  >  >
>  >  > To
>  >  > <ax...@ws.apache.org>
>  >  > cc
>  >  >
>  >  > Subject
>  >  > RE: JAXWSMessageReciever Marshaller Problem
>  >  >
>  >  >
>  >  >
>  >  >
>  >  >
>  >  >
>  >  > Hi there,
>  >  >
>  >  > A basic question, are jaxb objects required in a simple hello 
jax-ws
>  >  > application?   I think I am running the same test as Lasantha and 
this
>  >  > test
>  >  > doesn't have any jaxb generated classes in the war file.  Axis2 
did choose
>  >  > to use DocLitWrappedMethodMarshaller to do the marshaller work and 
the
>  >  > following exception was thrown when message.getBodyBlock(0, 
blockContext,
>  >  > factory) is called.
>  >  >
>  >  > javax.xml.bind.UnmarshalException
>  >  >  - with linked exception:
>  >  > [javax.xml.bind.UnmarshalException: unexpected element
>  >  > (uri:"http://apache.org/hello_world_soap_http", local:"greetMe"). 
Expected
>  >  > elements are (none)]
>  >  >
>  >  > I also saw
>  >  >
>  >  > 21:50:34,781 INFO  [JAXBUtils] ObjectFactory Class Not Found
>  >  > 21:50:34,828 INFO  [JAXBUtils] package-info Class Not Found
>  >  >
>  >  > in my console log, which seems to indicate that axis2 requires the
>  >  > existence
>  >  > of the ObjectFactory Class and package-info Class (part of jaxb 
generated
>  >  > classes) in the test application?
>  >  >
>  >  > This same jax-ws test works with CXF integration into Geronimo so 
I
>  >  > thought
>  >  > it would be okay to not have jaxb objects in the application 
archive.
>  >  > However, missing it seems to cause the UnmarshalException.
>  >  >
>  >  > Any help is appreciated.
>  >  >
>  >  > Lin
>  >  >
>  >  > -----Original Message-----
>  >  > From: Lasantha Ranaweera [mailto:lasantha@opensource.lk]
>  >  > Sent: Wednesday, January 31, 2007 1:33 AM
>  >  > To: axis-dev@ws.apache.org
>  >  > Subject: Re: JAXWSMessageReciever Marshaller Problem
>  >  >
>  >  > Hi Nich,
>  >  >
>  >  > Thank you very much for the information. I have uploaded latest 
patch
>  >  > (number 2) to the Geronimo list under GERONIMO-2776.
>  >  >
>  >  > I am basically trying to read a WSDL and  create JAXWS service by 
hand
>  >  > filling necessary composites for situations where class level
>  >  > annotations are not provided.
>  >  >
>  >  > After some debugging sessions understand this is due to the 
missing JAXB
>  >  > objects in my application archive. It would be ideal if you can 
explain
>  >  > me how the JAXB bindings work for the JAXWS in the Axis2 side. :-)
>  >  >
>  >  > Also is there any publicly available articles to refer JAXWS stuff 
on
>  >  > the Axis2?
>  >  >
>  >  > Thanks Again,
>  >  > Lasantha
>  >  >
>  >  > Nicholas L Gallardo wrote:
>  >  >>
>  >  >> Hi Lasantha,
>  >  >>
>  >  >> Sorry for the delayed response here.
>  >  >>
>  >  >> I think I need to understand how you're deploying/configuring the
>  >  >> endpoint before I can provide guidance on what's going on here. I
>  >  >> know we've already started the Geronimo integration, but I think 
some
>  >  >> of that is going to (or should probably) rely on similar work 
that
>  >  >> needs to be done in Axis2.  Do you have some information or
>  >  >> architecture that you can share for how this is being done?
>  >  >>
>  >  >> As far as this situation, the unmarshalling is going to be 
predicated
>  >  >> on what style of WSDL you have.  If you've just annotated a POJO 
and
>  >  >> then deployed that, the default WSDL mapping is to a 
Document/Literal
>  >  >> Wrapped style WSDL.  You can use the SOAPBinding annotation as 
you've
>  >  >> already seen to toggle between a Document and RPC style.  Only
>  >  >> "literal" use is supported.  JAX-WS does not support RPC/Encoded 
style
>  >  >> WSDLs.
>  >  >>
>  >  >> At a high level what will happen is, after the request comes in 
to the
>  >  >> JAXWSMessageReceiver, a decision will be made as to what
>  >  >> MethodMarshaller needs to be loaded.  This decision is based on 
the
>  >  >> information in the EndpointDescription/OperationDescription. Each 
of
>  >  >> those objects is a view of the WSDL and annotation information
>  >  >> available for an endpoint/operation.  If those are not configured
>  >  >> correctly, then you won't have the right MethodMarshaller.
>  >  >>
>  >  >> Is the scenario that you have intended to truly be based on an 
"RPC"
>  >  >> style WSDL (as opposed to a "Document" style)?  I'm assuming that 
the
>  >  >> RPC in the RPCMessageReceiver is referring more to the fact that 
it's
>  >  >> for services that are based on an interaction that people would
>  >  >> consider RPC over a messaging style interaction.  Is that 
correct?
>  >  >>
>  >  >> Regards,
>  >  >>
>  >  >> Nicholas Gallardo
>  >  >> WebSphere  -  WebServices Development
>  >  >> nlgallar@us.ibm.com
>  >  >> Phone: 512-838-1182
>  >  >> Building: 901 / 5G-016
>  >  >>
>  >  >>
>  >  >> *"Lasantha Ranaweera" <la...@opensource.lk>*
>  >  >>
>  >  >> 01/26/2007 11:09 PM
>  >  >> Please respond to
>  >  >> axis-dev@ws.apache.org
>  >  >>
>  >  >>
>  >  >>
>  >  >> To
>  >  >>                axis-dev@ws.apache.org
>  >  >> cc
>  >  >>                dims@wso2.com
>  >  >> Subject
>  >  >>                JAXWSMessageReciever Marshaller Problem
>  >  >>
>  >  >>
>  >  >>
>  >  >>
>  >  >>
>  >  >>
>  >  >>
>  >  >>
>  >  >>
>  >  >> Hi,
>  >  >>
>  >  >> This is a problem arised in the Geronimo Axis2 integration with
>  >  >> JAXWSMessageReciever.
>  >  >>
>  >  >> I created an AxisService with a JAXWSMessageReciever as it's 
message
>  >  >> reciever and trying to invoke the service using
>  >  >> HTTPTransportUtils.processHTTPPostRequest() method. We are 
sending a RPC
>  >  >> based SOAPRequest to the service invocation.
>  >  >>
>  >  >> The JAXWSMessageReciever then creates Marshaller for the 
unmarshall
>  >  >> requests. This marshaller creation is entirely depends on the
>  >  >> EndpointInterfaceDescriptionImpl SOAPBinding style. By default it
>  >  > creates
>  >  >> a DocLiteralMarashaller and tries to unmarshall my RPC based 
request and
>  >  >> get failed with UnmarshallException :(. When I change the default
>  >  >> SOAPBinding style in EndpointInterfaceDescriptionImpl to RPC it 
works
>  >  > fine
>  >  >> (sure it's not the way to do it). Is this is the correct 
behaviour of
>  >  >> Marshal creation of JAXWSMessageReciever? Shouldn't it be depends 
on
>  >  >> SOAPMessage messaging mode too?
>  >  >>
>  >  >> BTW I have created a JIRA (AXIS2-2044) patch to remove some of 
the
>  >  >> misleading information gives in the Axis2 integrating it with 
Geronimo.
>  >  >>
>  >  >> Thanks,
>  >  >> Lasantha Ranaweera
>  >  >>
>  >  >> 
---------------------------------------------------------------------
>  >  >> To unsubscribe, e-mail: axis-dev-unsubscribe@ws.apache.org
>  >  >> For additional commands, e-mail: axis-dev-help@ws.apache.org
>  >  >>
>  >  >>
>  >  >
>  >  >
>  >  >
>  >  > 
---------------------------------------------------------------------
>  >  > To unsubscribe, e-mail: axis-dev-unsubscribe@ws.apache.org
>  >  > For additional commands, e-mail: axis-dev-help@ws.apache.org
>  >  >
>  >  >
>  >  > 
---------------------------------------------------------------------
>  >  > To unsubscribe, e-mail: axis-dev-unsubscribe@ws.apache.org
>  >  > For additional commands, e-mail: axis-dev-help@ws.apache.org
>  >  >
>  >  >
>  >  >
>  > ---------------------------------------------------------------------
>  >  To unsubscribe, e-mail: axis-dev-unsubscribe@ws.apache.org
>  >  For additional commands, e-mail: axis-dev-help@ws.apache.org
>  >  --=_alternative 005A88328625727D_=--
>  > ---------------------------------------------------------------------
>  > To unsubscribe, e-mail: axis-dev-unsubscribe@ws.apache.org
>  > For additional commands, e-mail: axis-dev-help@ws.apache.org
>  >
>  >
>
>
>
>  --
>  Davanum Srinivas :: http://wso2.org/ :: Oxygen for Web Services 
Developers
>
>  ---------------------------------------------------------------------
>  To unsubscribe, e-mail: axis-dev-unsubscribe@ws.apache.org
>  For additional commands, e-mail: axis-dev-help@ws.apache.org
>
>
>



-- 
Davanum Srinivas :: http://wso2.org/ :: Oxygen for Web Services Developers

---------------------------------------------------------------------
To unsubscribe, e-mail: axis-dev-unsubscribe@ws.apache.org
For additional commands, e-mail: axis-dev-help@ws.apache.org




---------------------------------------------------------------------
To unsubscribe, e-mail: axis-dev-unsubscribe@ws.apache.org
For additional commands, e-mail: axis-dev-help@ws.apache.org