cxf-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Bc. Jiří Mikulášek" <jiri.mikula...@aura.cz>
Subject Re: Missing prefix in request on IBM
Date Wed, 26 Sep 2007 07:31:52 GMT
Hi thanks a lot for information. I am not very experienced regarding binding 
styles but I presume that we are using doc/lit/wrapped. We are suing stubs 
and here is how the stub looks like:

@WebService(targetNamespace = "http://sapdev06.webmeth65.osl.no/", name 
= "NoMilSapMaterial_WebServicePortType")

public interface NoMilSapMaterialWebServicePortType {

    @WebResult(targetNamespace = "", name = "Material")
    @RequestWrapper(localName = "Material", targetNamespace 
= "sapdev06material.com", className = "com.sapdev06material.Material")
    @ResponseWrapper(localName = "Response", targetNamespace 
= "sapdev06material.com", className = "com.sapdev06material.Response")
    @WebMethod(operationName = "Material")
    public 
java.util.List<localhost.nomilsapmaterial.webservice.senditem.ResponseMaterial> 
material(
        @WebParam(targetNamespace = "", name = "Item")
        java.util.List<com.sapdev06material.Material.Item> item
    );
}

What's strange to me, that if I debug a get to the BareOutInterceptor, which 
calls JAXBEncoderDecoder. This thing seems to be not consisten with your 
described cases. Am I wrong (may be it is the first case)?

I encounter now also one more strange thing: When we ommit saaj-impl from the 
classpath on AIX and there is no SOAPFault (because that's the case saaj-impl 
is needed), there is prefix generated (we see <ns2:Vendor xmlns:ns2=....>) If 
we put this saaj-impl back on classpath, it is generated again without 
prefix. Again be aware that this magic happens only on AIX with IBM java :-)


Best Regards
On Wednesday 26 of September 2007 00:21:06 Daniel Kulp wrote:
> Well, this area of the serialization should have no JDK differences.
> Not sure what would cause it.
>
> That said, some hints:
>
> Is it our normal JAX-WS + JAXB?
> Is is wrapped doc/lit and using "wrapper" objects?
>     If the answer to both is yes, then it really is completely in the
> JAXB runtime to do the serialization.   The breakpoint you would want
> would be in the JAXBEncoderDecoder marshal method.
>
> If it's RPC/lit, it would be in
> RPCOutInterceptor
>
> If it's Doc/Lit/Wrapped without the JAX-WS wrapper types, it would be the
> WrappedOutInterceptor (see note about this below)
>
> If it's Doc/Lit/Bare, the BareOutInterceptor, but again probably
> delegates to JAXB/Aegis via the "writeParts" method of the
> AbstractOutDatabindingInterceptor superclass.
>
>
> One thing I must add though:
> Check the CXF version.   Version 2.0 DID output with the
> <Vendor xmlns:ns2="some:namespace">
> form.   That was changed for 2.0.1 where the WrappedOutInterceptor was
> updated to always namespace prefix the wrapper element.   2.0.2 is being
> released today (already at the download location, waiting for sites to
> sync before sending the announcment).
>
> Dan
>
> On Tuesday 25 September 2007, Bc. Jiří Mikulášek wrote:
> > I understand, that's why I am looking for just a hint about the
> > architecture - can somebody tell me which CXF class or which another
> > library is responsible for serializing the SOAP request. If I find a
> > proper point, I can download sources, debug and experiment with it.
> > There must be some difference in IBM java for AIX and other system
> > which definetely cause my problem. If I will know who is responsible
> > for serializing soap request in cxf it will be easy to find which API
> > from jdk is called and findout the difference then maybe proivde some
> > patch...
> >
> > Dne úterý 25 září 2007 23:44 Benson Margulies napsal(a):
> > > This is going to be mighty difficult to make any sense of. I, for
> > > one, have no access to an environment to repro this in.
> > >
> > > > -----Original Message-----
> > > > From: Bc. Jiří Mikulášek [mailto:jiri.mikulasek@aura.cz]
> > > > Sent: Tuesday, September 25, 2007 3:45 PM
> > > > To: cxf-user@incubator.apache.org
> > > > Subject: Missing prefix in request on IBM
> > > >
> > > > Hello,
> > > >  yet another question regarding WS-client development on IBM.
> > > > This issue appears only on IBM java on AIX os. Using IBM java on
> > > > another operating system everything works fine.
> > > >
> > > > There is missing prefix by operation element in SOAP request. We
> > > > are using document/literal wrapped binding
> > > >
> > > > Our request on IBM looks like (without an envelope):
> > > >
> > > > <soap:Body>
> > > >     <Vendor xmlns:ns2="some:namespace">
> > > > 	....
> > > >     </Vendor>
> > > > </soap:Body>
> > > >
> > > > but should look like (and looks like on windows or linux):
> > > >
> > > > <soap:Body>
> > > >     <ns2:Vendor xmlns:ns2="some:namespace">
> > > > 	....
> > > >     </ns2:Vendor>
> > > > </soap:Body>
> > > >
> > > > The missing prefix is problem for the service part (not developed
> > > > by us and
> > > > running on webmethods) and the operation couldn't be called - we
> > > > got "Service :Vendor does not exist".
> > > >
> > > > Please can somebody give me a hint which part of cxf or another
> > > > library is responsible for serializing the SOAP request and what
> > > > jdk dependent API is used? I must try to findout the primary cause
> > > > otherwis this problem cannot be
> > > > fixed. Our tests have just proven that the xerces implementation
> > > > has no influence.
> > > >
> > > > Thank you
> > > >
> > > > Jiri Mikulasek



-- 
Jiri Mikulasek
---------------------------------
Developer

AURA, s.r.o.
Uvoz 499/56; 602 00 Brno
ISO 9001 certified company
AQAP 2110 (ČOS 051622)
tel./fax: +420 544 508 115
e-mail:  mikulasek@aura.cz
http://www.aura.cz
---------------------------------

Mime
View raw message