Other than the soapenv:encodingStyle attribute which I don't think you'll ever 
get output other than writing an interceptor to add it, you could probably do 
something like:

@WebService(targetNamespace="http://hndac.gob.pe/soasighhc/message/";
 ....)
@SOAPBinding(style = SOAPBinding.Style.RPC)
public interface MyService {

    @WebResult(name = "result)
    @WebMethod(operationName = "getHCdataRow")
    public String getHCdataRow(
         @WebParam(name = "tcHcNum") int tcHcNum,
         @WebParam(name = "tnYear") int tnYear);
}

With RPC/Lit like that, it should namespace qualify the child Body with the 
targetNamespace of the service.    The children of that element would not be 
qualified.   Thus, it should look similar to your first message below.   
Again, the main issue will be the encodingStyle, which we would never output.   
Not sure if that's an issue for you or not.    If it is, you may need to 
resort to Dispatch style clients and do the XML payload stuff yourself.

Dan


On Tue October 27 2009 11:50:25 am Jaime Hablutzel Egoavil wrote:
> I think I will need definetely to create annotated jax-ws client from
> scratch, but I want use as a base the code generated by wsdl2java for
> another web service, but, I'm getting into issues when jax-ws tries to
> validate (does it? ) against the wsdl, is there anyway to make a jax-ws
> client to forget about the need of the wsdl, for changing just the port and
> the message namespace, I just want to be able to send this:
> 
> <soapenv:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";
> xmlns:xsd="http://www.w3.org/2001/XMLSchema"; xmlns:soapenv="
> http://schemas.xmlsoap.org/soap/envelope/"; xmlns:mes="
> http://hndac.gob.pe/soasighhc/message/";>
>    <soapenv:Header/>
>    <soapenv:Body>
>       <mes:getHCdataRow soapenv:encodingStyle="
> http://schemas.xmlsoap.org/soap/encoding/";>
>          <tcHcNum>3</tcHcNum>
>          <tnYear>5</tnYear>
>       </mes:getHCdataRow>
>    </soapenv:Body>
> </soapenv:Envelope>
> 
> instead of:
> 
> <soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/";
> xmlns:cxf="http://cxf.examples.servicemix.apache.org/";>
>    <soapenv:Header/>
>    <soapenv:Body>
>       <cxf:getHCdataRow>
>          <!--Optional:-->
>          <tcHcNum>1</tcHcNum>
>          <tnYear>3</tnYear>
>       </cxf:getHCdataRow>
>    </soapenv:Body>
> </soapenv:Envelope>
> 
> 
> 
> On Mon, Oct 26, 2009 at 3:59 PM, Jaime Hablutzel Egoavil <
> 
> hablutz...@gmail.com> wrote:
> > Ok, I'll try it, then I'll post it, thank you.
> >
> > On Mon, Oct 26, 2009 at 3:38 PM, Daniel Kulp <dk...@apache.org> wrote:
> >> On Mon October 26 2009 4:00:38 pm Jaime Hablutzel Egoavil wrote:
> >> > yes, I hardcoded the style="document". Do you think that coding the
> >> > stub classes instead of using wsdl2java could solve my problem?
> >>
> >> Possibly.    Not really sure.  As I said, we don't support soap-encoded
> >> so if
> >> the service is actually expecting any of the soap-encoded stuff, you're
> >> going
> >> to run into issues.
> >>
> >> In general, though, yes.   If you start with the SEI interface and make
> >> sure
> >> you pass "null" for the wsdl location to the service thing and slowly
> >> tweak
> >> all the annotations, particularly targetNamespace attributes, you may be
> >> able
> >> to get it to work.
> >>
> >> Dan
> >>
> >> > On Mon, Oct 26, 2009 at 2:53 PM, Daniel Kulp <dk...@apache.org> wrote:
> >> > > Just took a quick look at your wsdl.    The wsdl is using
> >>
> >> soap-encoding
> >>
> >> > > which
> >> > > is not supported by CXF.   That alone would keep it from working:
> >> > >
> >> > > <soap:body use="encoded"
> >> > > namespace="http://hndac.gob.pe/soasighhc/message/ "
> >> > > encodingStyle="http://schemas.xmlsoap.org/soap/encoding/";
> >>
> >> parts="tcHcNum
> >>
> >> > > tnYear"/>
> >> > >
> >> > >
> >> > > However, you also have it set to  style="document".   Thus, even
> >>
> >> removing
> >>
> >> > > the
> >> > > encoding stuff leaves it with doc/literal, which would normally be
> >> > > OK, except
> >> > > WSI-BasicProfile only allows a single part for doc/literal.
> >> > >
> >> > > Anyway, to me, it looks like your entire problem is centered around
> >> > > an unsupportable wsdl.
> >> > >
> >> > > Dan
> >> > >
> >> > > On Mon October 26 2009 3:07:55 pm Jaime Hablutzel Egoavil wrote:
> >> > > > Hi, I'm testing servicemix 4 for a week until now and I can't get
> >> > > > working
> >> > >
> >> > > a
> >> > >
> >> > > > cxf web service inside servicemix, that queries another external
> >> > > > web service inside its implementation and connects to ldap using
> >> > > > DirContext (its fails because of an intercepting stuff inside
> >> > > > servicemix). Can someone give me an example of I cxf web service
> >>
> >> inside
> >>
> >> > > > servicemix,
> >> > >
> >> > > with
> >> > >
> >> > > > a ws client inside of it? And, an example of an application
> >>
> >> connecting
> >>
> >> > > > to ldap from inside of one cxf web service?
> >> > > >
> >> > > > Thank you very much.
> >> > >
> >> > > --
> >> > > Daniel Kulp
> >> > > dk...@apache.org
> >> > > http://www.dankulp.com/blog
> >>
> >> --
> >> Daniel Kulp
> >> dk...@apache.org
> >> http://www.dankulp.com/blog
> >
> > --
> > Jaime Hablutzel
> >
> > (tildes omitidas intencionalmente) 9 8964 0369
> 

-- 
Daniel Kulp
dk...@apache.org
http://www.dankulp.com/blog

Reply via email to