You are viewing a plain text version of this content. The canonical link for it is here.
Posted to java-user@axis.apache.org by Tracey Annison <ta...@trisystems.co.uk> on 2007/07/16 11:54:22 UTC

Checking SOAP message against WSDL

We have Java webservices implemented with Spring and Axis, and we are
recieving SOAP messages from an external party. When they get the format
of these messages wrong, they don't know how to fix them unless we tell
them what they got wrong... joy...

So we have to check the XML of the message against the service and its
WSDL, and pick out what they did wrong - there's a bad type, or a
misnamed parameter, or whatever. This is not a trivial task to do by
eye, especially as the parameters may not be in the correct order! 

I'm sure there must be some utility somewhere that can check this for
us, and pick out where the mismatches are, but I can't seem to find such
a thing. Has anyone ever heard of one?

Cheers
Tracey Annison




----------------------------------------------------------------------
The information in this email is confidential and may be legally privileged. 
It is intended solely for the addressee. Access to this email by 
anyone else is unauthorised. If you are not the intended recipient, 
any disclosure, copying, distribution, or any action taken or omitted 
to be taken in reliance on it, is prohibited and may be unlawful. 
TriSystems Ltd. cannot accept liability for statements made which are clearly
the sender's own.


Re: Checking SOAP message against WSDL

Posted by Anne Thomas Manes <at...@gmail.com>.
If you're using document style, then you can validate the message
against the schema. If you're using RPC style, it's less convenient to
validate, because you must validate each individual parameter type,
and you need to check by eye whether the parameters are in order.

You can also use a diagnostic tool like Mindreef SOAPScope.

Anne

On 7/16/07, Tracey Annison <ta...@trisystems.co.uk> wrote:
>
>
>
> We have Java webservices implemented with Spring and Axis, and we are
> recieving SOAP messages from an external party. When they get the format of
> these messages wrong, they don't know how to fix them unless we tell them
> what they got wrong... joy...
>
>  So we have to check the XML of the message against the service and its
> WSDL, and pick out what they did wrong - there's a bad type, or a misnamed
> parameter, or whatever. This is not a trivial task to do by eye, especially
> as the parameters may not be in the correct order!
>
>  I'm sure there must be some utility somewhere that can check this for us,
> and pick out where the mismatches are, but I can't seem to find such a
> thing. Has anyone ever heard of one?
>
>  Cheers
> Tracey Annison
> ----------------------------------------------------------------------
> The information in this email is confidential and may be legally privileged.
> It is intended solely for the addressee. Access to this email by
> anyone else is unauthorised. If you are not the intended recipient,
> any disclosure, copying, distribution, or any action taken or omitted
> to be taken in reliance on it, is prohibited and may be unlawful.
> TriSystems Ltd. cannot accept liability for statements made which are
> clearly
> the sender's own.
>
>

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


Re: Pulling wsdl off a server

Posted by Chad DeBauch <cd...@gmail.com>.
If your wsdl is in the META-INF directory and "myImportedSchema.xsd" is in
that directory as well it will see it.

Chad

On 7/16/07, Desmond Whewell (CV/ETL) <de...@ericsson.com> wrote:
>
> So if my wsdl used:
>
> ...
> <xs:include schemaLocation="myImportedSchema.xsd"/>
> ...
>
> Would that be sufficient? Or do I have to specify the location as a URL?
>
> Cheers, Des
>
> -----Original Message-----
> From: Anne Thomas Manes [mailto:atmanes@gmail.com]
> Sent: 16 July 2007 13:14
> To: axis-user@ws.apache.org
> Subject: Re: Pulling wsdl off a server
>
> Included or imported schemas should specify a schemaLocation attribute
> that specifies the path to the XSDs.
>
> Anne
>
> On 7/16/07, Desmond Whewell (CV/ETL) <de...@ericsson.com>
> wrote:
> > I understand that I can retrieve the WSDL of  a service by performing
> > a GET to a URL, ".../axis2/service/MyService?wsdl", say. If I choose
> > to use the original WSDL and that WSDL performs includes or imports,
> > from where should the referenced XSD files be retrieved?
> >
> > Cheers, Des
> >
> > Axis2 1.2/Tomcat 5.5.9
> >
> >
> >
> > ---------------------------------------------------------------------
> > To unsubscribe, e-mail: axis-user-unsubscribe@ws.apache.org
> > For additional commands, e-mail: axis-user-help@ws.apache.org
> >
> >
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: axis-user-unsubscribe@ws.apache.org
> For additional commands, e-mail: axis-user-help@ws.apache.org
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: axis-user-unsubscribe@ws.apache.org
> For additional commands, e-mail: axis-user-help@ws.apache.org
>
>

RE: Pulling wsdl off a server (solved)

Posted by "Desmond Whewell (CV/ETL)" <de...@ericsson.com>.
For anyone else who is curious,

Ok, just looked on the wire and it appears that Axis2 is munging the
schema locations as

Formal:
<xs:include schemaLocation="myImportedSchema.xsd"/>

Supplied by Axis2:
<xs:include schemaLocation="MyService?xsd=xsd0"/>

Dropping ".../axis2/service/MyService?xsd=xsd0" into a browser returns
the schema contents (ie myImportedSchema.xsd).

It does this for all the schemas it comes across.

Cheers,

-----Original Message-----
From: Desmond Whewell (CV/ETL) [mailto:desmond.whewell@ericsson.com] 
Sent: 16 July 2007 13:16
To: axis-user@ws.apache.org
Subject: RE: Pulling wsdl off a server

So if my wsdl used:

...
<xs:include schemaLocation="myImportedSchema.xsd"/>
...

Would that be sufficient? Or do I have to specify the location as a URL?

Cheers, Des

-----Original Message-----
From: Anne Thomas Manes [mailto:atmanes@gmail.com]
Sent: 16 July 2007 13:14
To: axis-user@ws.apache.org
Subject: Re: Pulling wsdl off a server

Included or imported schemas should specify a schemaLocation attribute
that specifies the path to the XSDs.

Anne

On 7/16/07, Desmond Whewell (CV/ETL) <de...@ericsson.com>
wrote:
> I understand that I can retrieve the WSDL of  a service by performing 
> a GET to a URL, ".../axis2/service/MyService?wsdl", say. If I choose 
> to use the original WSDL and that WSDL performs includes or imports, 
> from where should the referenced XSD files be retrieved?
>
> Cheers, Des
>
> Axis2 1.2/Tomcat 5.5.9
>
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: axis-user-unsubscribe@ws.apache.org
> For additional commands, e-mail: axis-user-help@ws.apache.org
>
>

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


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


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


RE: Pulling wsdl off a server

Posted by "Desmond Whewell (CV/ETL)" <de...@ericsson.com>.
So if my wsdl used:

...
<xs:include schemaLocation="myImportedSchema.xsd"/> 
...

Would that be sufficient? Or do I have to specify the location as a URL?

Cheers, Des

-----Original Message-----
From: Anne Thomas Manes [mailto:atmanes@gmail.com] 
Sent: 16 July 2007 13:14
To: axis-user@ws.apache.org
Subject: Re: Pulling wsdl off a server

Included or imported schemas should specify a schemaLocation attribute
that specifies the path to the XSDs.

Anne

On 7/16/07, Desmond Whewell (CV/ETL) <de...@ericsson.com>
wrote:
> I understand that I can retrieve the WSDL of  a service by performing 
> a GET to a URL, ".../axis2/service/MyService?wsdl", say. If I choose 
> to use the original WSDL and that WSDL performs includes or imports, 
> from where should the referenced XSD files be retrieved?
>
> Cheers, Des
>
> Axis2 1.2/Tomcat 5.5.9
>
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: axis-user-unsubscribe@ws.apache.org
> For additional commands, e-mail: axis-user-help@ws.apache.org
>
>

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


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


Re: Pulling wsdl off a server

Posted by Anne Thomas Manes <at...@gmail.com>.
Included or imported schemas should specify a schemaLocation attribute
that specifies the path to the XSDs.

Anne

On 7/16/07, Desmond Whewell (CV/ETL) <de...@ericsson.com> wrote:
> I understand that I can retrieve the WSDL of  a service by performing a
> GET to a URL, ".../axis2/service/MyService?wsdl", say. If I choose to
> use the original WSDL and that WSDL performs includes or imports, from
> where should the referenced XSD files be retrieved?
>
> Cheers, Des
>
> Axis2 1.2/Tomcat 5.5.9
>
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: axis-user-unsubscribe@ws.apache.org
> For additional commands, e-mail: axis-user-help@ws.apache.org
>
>

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


Pulling wsdl off a server

Posted by "Desmond Whewell (CV/ETL)" <de...@ericsson.com>.
I understand that I can retrieve the WSDL of  a service by performing a
GET to a URL, ".../axis2/service/MyService?wsdl", say. If I choose to
use the original WSDL and that WSDL performs includes or imports, from
where should the referenced XSD files be retrieved?
 
Cheers, Des
 
Axis2 1.2/Tomcat 5.5.9
 
 

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