You are viewing a plain text version of this content. The canonical link for it is here.
Posted to muse-user@ws.apache.org by MJay <mj...@cisco.com> on 2007/04/02 08:39:51 UTC
Re: NotDocLiteral Error
Thanks for the help Dan. Now the NoDocLiteral error has gone away.
However, I am getting
java.lang.RuntimeException: [ID = 'NoTypeDef'] No type definition found for
'{ht
tp://schemas.mjay.com/2006/07/MyService}GetMetadata'.
I have added the following line under wsdl types
<xs:schema targetNamespace="http://schemas.xmlsoap.org/ws/2004/09/mex">
<xs:include schemaLocation="WS-MetadataExchange-2004_09.xsd"/>
</xs:schema>
Thanks,
M'Jay
Daniel Jemiolo wrote:
>
> The problem has to do with WSDL formatting - you need to have all of your
> <message/> elements in your actual WSDL (not imported). The problem is
> that the 'name' attribute on <message/> elements is not qualified, so it
> takes whatever namespace is in the current WSDL; well, when you 'resolve'
> a WSDL by importing the WSDLs mentioned in its <import/> elements, the
> <message/> elements get moved from one namespace (in this case, WS-MEX) to
> another (your custom namespace), and WSDL4J can't resolve them.
>
> All you need to do is copy the <message/> elements in. It's still fine to
> keep the actual schema definitions in separate XSD files. Once you move
> the <message/> elements, change the 'message' attributes on your
> <operation/> elements (below) to use the target namespace of your WSDL,
> not wsmex-w.
>
> Dan
>
>
>
> "Mrityunjay Hubli \(mjay\)" <mj...@cisco.com> wrote on 03/30/2007 06:52:18
> AM:
>
>> Hi All,
>>
>> I have the following operation in my wsdl
>>
>> <wsdl:import namespace="http://schemas.xmlsoap.org/ws/2004/09/mex"
>> location="WS-MetadataExchange-2004_09.wsdl"/>
>> ...
>> <wsdl:operation name="GetMetadata">
>> <wsdl:input name="GetMetadataMsg"
>> message="wsmex-w:GetMetadataMsg"
>> wsa:Action="http://schemas.xmlsoap.org/ws/2004/09/mex/GetMetadata"/>
>> <wsdl:output name="GetMetadataResponseMsg"
>> message="wsmex-w:GetMetadataResponseMsg"
>> wsa:Action="http://schemas.xmlsoap.org/ws/2004/09/mex/GetMetadataRespons
>> e"/>
>> </wsdl:operation>
>>
>> ...
>>
>> In WS-MetadataExchange-2004_09.wsdl the messages are defined as :
>> <wsdl:message name="GetMetadataMsg">
>> <wsdl:part name="body" element="tns:GetMetadata"/>
>> </wsdl:message>
>> <wsdl:message name="GetMetadataResponseMsg">
>> <wsdl:part name="body" element="tns:Metadata"/>
>> </wsdl:message>
>>
>> When I run wsdl2java, I get the following error:
>> java.lang.RuntimeException: [ID = 'NotDocLiteral'] The WSDL operation
>> 'GetMetada
>> ta' is not doc-literal because it defines a message with more than one
>> message p
>> art for its SOAP Body. The SOAP Body of a doc-literal message should
>> contain one
>> root request element (with the operation name) with zero or more child
>> elements
>> (the parameters).
>>
>> I have Muse version 2.2.0
>>
>> Any ideas about what could be the problem ?
>>
>> Thanks,
>> M'Jay
>>
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: muse-user-unsubscribe@ws.apache.org
> For additional commands, e-mail: muse-user-help@ws.apache.org
>
>
>
--
View this message in context: http://www.nabble.com/NotDocLiteral-Error-tf3491483.html#a9785813
Sent from the Muse User mailing list archive at Nabble.com.
---------------------------------------------------------------------
To unsubscribe, e-mail: muse-user-unsubscribe@ws.apache.org
For additional commands, e-mail: muse-user-help@ws.apache.org
Re: NotDocLiteral Error
Posted by Daniel Jemiolo <da...@us.ibm.com>.
I'd need the WSDL to figure it out - please attach your WSDL/XSD files so
we can take a look (you might need to send them directly to Andrew and I -
a lot of times attachments don't get through to the list).
Dan
MJay <mj...@cisco.com> wrote on 04/02/2007 02:39:51 AM:
>
> Thanks for the help Dan. Now the NoDocLiteral error has gone away.
> However, I am getting
> java.lang.RuntimeException: [ID = 'NoTypeDef'] No type definition found
for
> '{ht
> tp://schemas.mjay.com/2006/07/MyService}GetMetadata'.
>
> I have added the following line under wsdl types
> <xs:schema targetNamespace="http://schemas.xmlsoap.org/ws/2004/09/mex">
> <xs:include schemaLocation="WS-MetadataExchange-2004_09.xsd"/>
> </xs:schema>
>
> Thanks,
> M'Jay
>
>
>
>
> Daniel Jemiolo wrote:
> >
> > The problem has to do with WSDL formatting - you need to have all of
your
> > <message/> elements in your actual WSDL (not imported). The problem is
> > that the 'name' attribute on <message/> elements is not qualified, so
it
> > takes whatever namespace is in the current WSDL; well, when you
'resolve'
> > a WSDL by importing the WSDLs mentioned in its <import/> elements, the
> > <message/> elements get moved from one namespace (in this case,
WS-MEX) to
> > another (your custom namespace), and WSDL4J can't resolve them.
> >
> > All you need to do is copy the <message/> elements in. It's still fine
to
> > keep the actual schema definitions in separate XSD files. Once you
move
> > the <message/> elements, change the 'message' attributes on your
> > <operation/> elements (below) to use the target namespace of your
WSDL,
> > not wsmex-w.
> >
> > Dan
> >
> >
> >
> > "Mrityunjay Hubli \(mjay\)" <mj...@cisco.com> wrote on 03/30/2007
06:52:18
> > AM:
> >
> >> Hi All,
> >>
> >> I have the following operation in my wsdl
> >>
> >> <wsdl:import namespace="http://schemas.xmlsoap.org/ws/2004/09/mex"
> >> location="WS-MetadataExchange-2004_09.wsdl"/>
> >> ...
> >> <wsdl:operation name="GetMetadata">
> >> <wsdl:input name="GetMetadataMsg"
> >> message="wsmex-w:GetMetadataMsg"
> >> wsa:Action="http://schemas.xmlsoap.org/ws/2004/09/mex/GetMetadata"/>
> >> <wsdl:output name="GetMetadataResponseMsg"
> >> message="wsmex-w:GetMetadataResponseMsg"
> >>
wsa:Action="http://schemas.xmlsoap.org/ws/2004/09/mex/GetMetadataRespons
> >> e"/>
> >> </wsdl:operation>
> >>
> >> ...
> >>
> >> In WS-MetadataExchange-2004_09.wsdl the messages are defined as :
> >> <wsdl:message name="GetMetadataMsg">
> >> <wsdl:part name="body" element="tns:GetMetadata"/>
> >> </wsdl:message>
> >> <wsdl:message name="GetMetadataResponseMsg">
> >> <wsdl:part name="body" element="tns:Metadata"/>
> >> </wsdl:message>
> >>
> >> When I run wsdl2java, I get the following error:
> >> java.lang.RuntimeException: [ID = 'NotDocLiteral'] The WSDL operation
> >> 'GetMetada
> >> ta' is not doc-literal because it defines a message with more than
one
> >> message p
> >> art for its SOAP Body. The SOAP Body of a doc-literal message should
> >> contain one
> >> root request element (with the operation name) with zero or more
child
> >> elements
> >> (the parameters).
> >>
> >> I have Muse version 2.2.0
> >>
> >> Any ideas about what could be the problem ?
> >>
> >> Thanks,
> >> M'Jay
> >>
> >
> >
> > ---------------------------------------------------------------------
> > To unsubscribe, e-mail: muse-user-unsubscribe@ws.apache.org
> > For additional commands, e-mail: muse-user-help@ws.apache.org
> >
> >
> >
>
> --
> View this message in context: http://www.nabble.com/NotDocLiteral-Error-
> tf3491483.html#a9785813
> Sent from the Muse User mailing list archive at Nabble.com.
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: muse-user-unsubscribe@ws.apache.org
> For additional commands, e-mail: muse-user-help@ws.apache.org
>
---------------------------------------------------------------------
To unsubscribe, e-mail: muse-user-unsubscribe@ws.apache.org
For additional commands, e-mail: muse-user-help@ws.apache.org