Hi,

I would like to resurrect this thread once again!
I understand that CXF does not support RPC/encoded AND soap encodings
(not exactly the same thing, right...)
But I have a Document/Literal ws using soap encodings and in particular
the soap-enc:arrayType. I read somewhere that Aegis DataBinding would be
the solution for this (in cxf 2.1) because at the moment, the basic
Dynamic client fails to parse the wsdl:

Caused by: java.lang.Exception: Error compiling schema from WSDL at
{http://www.chemspider.com/MassSpecAPI.asmx?WSDL}: undefined simple or
complex type 'soapenc:Array'
        at
org.apache.cxf.endpoint.dynamic.DynamicClientFactory$InnerErrorListener.
error(DynamicClientFactory.java:470)
        at
com.sun.tools.xjc.api.impl.s2j.SchemaCompilerImpl.error(SchemaCompilerIm
pl.java:280)

So, if aegis is the solution... how do I configure the
dynamicclientfactory or the bus to use aegis when parsing the WSDL?
Any ideas?
Thanks

Benjamin Coiffe



-----Original Message-----
From: Daniel Kulp [mailto:[EMAIL PROTECTED] 
Sent: 10 March 2008 18:14
To: [EMAIL PROTECTED]
Cc: clandestino_bgd
Subject: Re: question about http://schemas.xmlsoap.org/soap/encoding/
and Dynamic Client



> If yes, can you tell me what would be the best way to find out
> (method, class in CXF or somewhere else) if service is RPC/encoded (or
> i.e, not supported by CXF).

Oi...  Honestly, short of grabbing the WSDL and parsing, I'm not sure if

there is an easy way.  In theory, you should be able to grab the 
BindingOperaionInfo from the CXF model and check some flag on it, but 
I'm not exactly sure if we bother even recoding if it's encoded/literal 
since we only support literal right now. 

That said, Dain started adding encoded support into the Aegis
databinding 
so eventually we'll need to make sure it's recorded properly.   I'm not 
sure if Dain has gotten that far yet though.

Dan



On Saturday 08 March 2008, clandestino_bgd wrote:
> Hi,
> I have the problem and found this thread to be most relevant to it.
> Inside a BPM system we currently build, there is a need to speify
> arbitrary endpoint URL, supply parameters and hanlde results of the
> invocation. Therefore I need some kind of dynamic client mechanism and
> here I am on CXF forum:)
>
> So, the problem is how I can dynamically invoke RPC encoded (legacy)
> services. Since I cannot reimplement them, only thing I can get is
> their WSDL. Ok, I understand CXF will not do the binding, but I tried
> old WSIF and it does the job.
>
> But I would like to have both CXF and WSIF dynamic clients and switch
> between them depending on service WSDL. If I find operation to be RPC
> encoded, I would use WSIF, in any other case I would use CXF dynamic
> client. Does this make sense?
> If yes, can you tell me what would be the best way to find out
> (method, class in CXF or somewhere else) if service is RPC/encoded (or
> i.e, not supported by CXF).
>
> I am not much into WS technology, so I appologise in advance if I ask
> something stupid.
> Thanx
> Milan.
>
> Glen Mazza-2 wrote:
> > Am Montag, den 12.11.2007, 04:53 -0500 schrieb Benjamin Coiffe:
> >> Thanks for the answer James,
> >>
> >> Unfortunately, I don't think that it would help because the
> >> exception is thrown when the wsdl is parsed (using XJC I
> >> believe)...
> >
> > With JAX-WS, you cannot parse a WSDL that is RPC/encoded, the
> > results are unsupported and undefined.  (You might as well try to
> > have it parse a chicken.)
> >
> > Glen
> >
> >> Any other suggestions?
> >> Thanks,
> >>
> >> Benjamin



-- 
J. Daniel Kulp
Principal Engineer, IONA
[EMAIL PROTECTED]
http://www.dankulp.com/blog

Reply via email to