Some more guidance on this: There are a couple of reasons why you might have to use a wrapper element: 1- If you want to send more than one root element in a single SOAP message 2- If you want your service to expose more than one operation
Hope this helps, Anne On 9/7/07, Anne Thomas Manes <[EMAIL PROTECTED]> wrote: > Oliver, > > Your WSDL message definition is not valid. > > It should be: > > <message name="operationA"> > <part name="content" element="xsd:any"/> > </message> > > Alternatively, you might want to define a wrapper element for your > message content, in which case you would define the message thus: > > <message name="operationA"> > <part name="content" element="tns:operationA" /> > </message> > > and you would also have to define the operationA element in your > <types> section: > > <types> > <xsd:schema targetNamespace="[tns]"> > <xsd:element name="operationA type="xsd:anyType"/> > </xsd:schema> > </types> > > Anne > > On 9/7/07, Oliver Charlet <[EMAIL PROTECTED]> wrote: > > Hi y'all, > > > > I am having trouble to get to work a setup that seems to be rare, but > > which for me is rather practical: > > > > 1) I have a wsdl, that defines a schema for the input of a message, i.e. > > I want the content of the soap body to of that schema. This wsdl is used > > to communicate with the users of the service - of course. > > 2) I don't want a Java Binding, because I simply want to take the raw > > XML from the body and do something with it (like serializing to filesystem). > > 3) So I create a "bottom up" service implementation, that uses the > > message style Element[] operationA(Element[] elms) signature. > > 4) I use the wsdlFile tag to serve the original wsdl to the user, when > > he asks for it using ...?wsdl on the Service URL > > > > now the problem: > > When I do 3), Axis would theoretically create a generated wsdl, that > > would define my operation message part as: > > <message name="operationA"> > > <part element="operationA" type="xsd:anyType"/> > > </message> > > that means, that in my case the actual payload of the incoming message > > would need to be inserted into the operationA-Tag that was defined by > > axis at the time of deployment as shown above. > > After I do 4), axis still expects that Tag "operationA" to be inside the > > soap body. But now I have a service that does not reflect the published > > wsdl, which after 4) is the original one defining the payload to be an > > instance of the schema inside it - without the operationA-Tag. > > That means, that any user trying to access my service, reading the > > public wsdl will get an error, because axis expects a different soap > > message. > > > > This is a little complicated to explain - but still I hope, that someone > > can give me a hint on how to do this the right way. > > Again here is what I want to achieve: > > - have an initial wsdl > > - create a "generic" service implementation handling pure XML, avoiding > > generation of XML-JAVA bindings > > - publish the initial wsdl instead of the generated one > > - make this scenario work... > > > > Thanks for any help > > :oliver > > > > -- > > ----------------------- > > oliver charlet > > software development > > > > 11-041 Olsztyn, Poland > > > > [EMAIL PROTECTED] > > ----------------------- > > > > > > --------------------------------------------------------------------- > > To unsubscribe, e-mail: [EMAIL PROTECTED] > > For additional commands, e-mail: [EMAIL PROTECTED] > > > > > --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]