You are viewing a plain text version of this content. The canonical link for it is here.
Posted to soap-user@xml.apache.org by "Jesus M. Salvo Jr." <je...@migasia.com> on 2003/01/16 04:24:29 UTC
service "XYZ" uinknown and other questions
Using Tomcat 4.1 + Soap 2.3.1
I know this is in the FAQ ... but I am still confused.
You will see from below that SOAP server is complaining that the service
"xyz" is unknown .... but "xyz" is an XML namespace!!
* Why would it think that the namespace in the SOAP message that I sent
is the service?
* As a general question, how does Apache SOAP identify the message
service being requested anyway?
* How can u turn on debugging or versbose information on Tomcat 4.1 so
that I can see that Apache-SOAP is doing?
Note that I have added jaxp-api.jar, dom.jar, sax.jar, xercesImpl.jar,
into $TOMCAT_HOME/common/lib/
Here are the steps that I made:
1) I add a JAR called mm7.jar and placed it in
webapps/soap/WEB-INF/lib/. This JAR contains the class mentioned on step
[2] when deploying the SOAP service.
2) I have deployed a SOAP messaging service with the following
deployment descriptor:
<isd:service xmlns:isd="http://xml.apache.org/xml-soap/deployment"
id="urn:mmserver" type="message">
<isd:provider type="java" scope="Application" methods="SubmitReq">
<isd:java class="com.mig.mms.mm7.V5_4_0.MMServerReceiverImpl"/>
</isd:provider>
<isd:faultListener>org.apache.soap.server.DOMFaultListener</isd:faultListener>
</isd:service>
Ran:
java org.apache.soap.server.ServiceManagerClient
http://192.168.0.82:8080/soap/servlet/rpcrouter deploy mm7.xml
No errors reported ... and a list of the services show:
Deployed Services:
urn:mmserver
3) From a client, I send the following to
http://192.168.0.82:8080/soap/servlet/messagerouter:
<?xml version='1.0' encoding='UTF-8'?>
<SOAP-ENV:Envelope
xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<SOAP-ENV:Header>
<mm7:TransactionID
xmlns:mm7="http://www.3gpp.org/ftp/Specs/archive/23_series/23.140/schema/REL-5-MM7-1-0">123</mm7:TransactionID>
</SOAP-ENV:Header>
<SOAP-ENV:Body>
<mm7:SubmitReq
xmlns:mm7="http://www.3gpp.org/ftp/Specs/archive/23_series/23.140/schema/REL-5-MM7-1-0">
<MM7Version>5.4.0</MM7Version>
<SenderIdentification>
<VASPID>TestAccount</VASPID>
<VASID>TestPass</VASID>
<SenderAddress>+6161616161</SenderAddress>
</SenderIdentification>
<Recipients/>
<ServiceCode>er2sdf</ServiceCode>
<MessageClass>Informational</MessageClass>
<TimeStamp>2003-01-16T13:17:41+10:00</TimeStamp>
<EarliestDeliveryTime>2003-01-16T13:17:41+10:00</EarliestDeliveryTime>
<ExpiryDate>2003-01-16T13:17:41+10:00</ExpiryDate>
<DeliveryReport>false</DeliveryReport>
<Priority>Normal</Priority>
<DistributionIndicator>false</DistributionIndicator>
</mm7:SubmitReq>
</SOAP-ENV:Body>
</SOAP-ENV:Envelope>
4) Here is the response that I get:
HTTP/1.1 500 Internal Server Error
Set-Cookie: JSESSIONID=CB8DCEFB04F423852D2B3281379A689D; Path=/soap
Content-Type: text/xml; charset=utf-8
Content-Length: 531
Date: Thu, 16 Jan 2003 02:14:54 GMT
Server: Apache Coyote/1.0
Connection: close
<?xml version='1.0' encoding='UTF-8'?>
<SOAP-ENV:Envelope
xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<SOAP-ENV:Body>
<SOAP-ENV:Fault>
<faultcode>SOAP-ENV:Server</faultcode>
<faultstring>service
'http://www.3gpp.org/ftp/Specs/archive/23_series/23.140/schema/REL-5-MM7-1-0'
unknown</faultstring>
<faultactor>/soap/servlet/messagerouter</faultactor>
</SOAP-ENV:Fault>
</SOAP-ENV:Body>
</SOAP-ENV:Envelope>
--
To unsubscribe, e-mail: <ma...@xml.apache.org>
For additional commands, e-mail: <ma...@xml.apache.org>
Re: service "XYZ" uinknown and other questions
Posted by Scott Nichol <sn...@scottnichol.com>.
The SOAP specification does not specify how the client and server
agree on how the desired action is specified. Some implementations,
such as .NET, rely on the SOAPAction header. That's great for HTTP,
but not every transport has headers like HTTP does. The original
Apache SOAP developers used the namespace of the first child of the
SOAP Body because that is transport independent, and it allows
multiple services to reside at a single endpoint.
On 16 Jan 2003 at 14:58, Jesus M. Salvo Jr. wrote:
>
> Okay ... I was able to workaround this problem by undeploying the
> service and re-deploying it with a different deployment descriptor like
> this:
>
> <isd:service xmlns:isd="http://xml.apache.org/xml-soap/deployment"
> id="http://www.3gpp.org/ftp/Specs/archive/23_series/23.140/schema/REL-5-MM7-1-0"
> type="message">
> <isd:provider type="java" scope="Application" methods="SubmitReq">
> <isd:java class="com.mig.mms.mm7.V5_4_0.MMServerReceiverImpl"/>
> </isd:provider>
>
> <isd:faultListener>org.apache.soap.server.DOMFaultListener</isd:faultListener>
>
> </isd:service>
>
> Question is ... why does Apache-SOAP uses the xmlns to match the id of
> the service?
>
> Jesus M. Salvo Jr. wrote:
>
> >
> > Using Tomcat 4.1 + Soap 2.3.1
> >
> > I know this is in the FAQ ... but I am still confused.
> > You will see from below that SOAP server is complaining that the
> > service "xyz" is unknown .... but "xyz" is an XML namespace!!
> > * Why would it think that the namespace in the SOAP message that I
> > sent is the service?
> > * As a general question, how does Apache SOAP identify the message
> > service being requested anyway?
> > * How can u turn on debugging or versbose information on Tomcat 4.1 so
> > that I can see that Apache-SOAP is doing?
> >
> > Note that I have added jaxp-api.jar, dom.jar, sax.jar,
> > xercesImpl.jar, into $TOMCAT_HOME/common/lib/
> >
> > Here are the steps that I made:
> >
> > 1) I add a JAR called mm7.jar and placed it in
> > webapps/soap/WEB-INF/lib/. This JAR contains the class mentioned on
> > step [2] when deploying the SOAP service.
> >
> > 2) I have deployed a SOAP messaging service with the following
> > deployment descriptor:
> >
> > <isd:service xmlns:isd="http://xml.apache.org/xml-soap/deployment"
> > id="urn:mmserver" type="message">
> > <isd:provider type="java" scope="Application" methods="SubmitReq">
> > <isd:java
> > class="com.mig.mms.mm7.V5_4_0.MMServerReceiverImpl"/>
> > </isd:provider>
> >
> > <isd:faultListener>org.apache.soap.server.DOMFaultListener</isd:faultListener>
> >
> > </isd:service>
> >
> > Ran:
> > java org.apache.soap.server.ServiceManagerClient
> > http://192.168.0.82:8080/soap/servlet/rpcrouter deploy mm7.xml
> >
> > No errors reported ... and a list of the services show:
> >
> > Deployed Services:
> > urn:mmserver
> >
> > 3) From a client, I send the following to
> > http://192.168.0.82:8080/soap/servlet/messagerouter:
> >
> > <?xml version='1.0' encoding='UTF-8'?>
> > <SOAP-ENV:Envelope
> > xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"
> > xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
> > xmlns:xsd="http://www.w3.org/2001/XMLSchema">
> > <SOAP-ENV:Header>
> > <mm7:TransactionID
> > xmlns:mm7="http://www.3gpp.org/ftp/Specs/archive/23_series/23.140/schema/REL-5-MM7-1-0">123</mm7:TransactionID>
> >
> > </SOAP-ENV:Header>
> > <SOAP-ENV:Body>
> > <mm7:SubmitReq
> > xmlns:mm7="http://www.3gpp.org/ftp/Specs/archive/23_series/23.140/schema/REL-5-MM7-1-0">
> >
> > <MM7Version>5.4.0</MM7Version>
> > <SenderIdentification>
> > <VASPID>TestAccount</VASPID>
> > <VASID>TestPass</VASID>
> > <SenderAddress>+6161616161</SenderAddress>
> > </SenderIdentification>
> > <Recipients/>
> > <ServiceCode>er2sdf</ServiceCode>
> > <MessageClass>Informational</MessageClass>
> > <TimeStamp>2003-01-16T13:17:41+10:00</TimeStamp>
> > <EarliestDeliveryTime>2003-01-16T13:17:41+10:00</EarliestDeliveryTime>
> > <ExpiryDate>2003-01-16T13:17:41+10:00</ExpiryDate>
> > <DeliveryReport>false</DeliveryReport>
> > <Priority>Normal</Priority>
> > <DistributionIndicator>false</DistributionIndicator>
> > </mm7:SubmitReq>
> > </SOAP-ENV:Body>
> > </SOAP-ENV:Envelope>
> >
> > 4) Here is the response that I get:
> >
> > HTTP/1.1 500 Internal Server Error
> > Set-Cookie: JSESSIONID=CB8DCEFB04F423852D2B3281379A689D; Path=/soap
> > Content-Type: text/xml; charset=utf-8
> > Content-Length: 531
> > Date: Thu, 16 Jan 2003 02:14:54 GMT
> > Server: Apache Coyote/1.0
> > Connection: close
> >
> > <?xml version='1.0' encoding='UTF-8'?>
> > <SOAP-ENV:Envelope
> > xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"
> > xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
> > xmlns:xsd="http://www.w3.org/2001/XMLSchema">
> > <SOAP-ENV:Body>
> > <SOAP-ENV:Fault>
> > <faultcode>SOAP-ENV:Server</faultcode>
> > <faultstring>service
> > 'http://www.3gpp.org/ftp/Specs/archive/23_series/23.140/schema/REL-5-MM7-1-0'
> > unknown</faultstring>
> > <faultactor>/soap/servlet/messagerouter</faultactor>
> > </SOAP-ENV:Fault>
> > </SOAP-ENV:Body>
> > </SOAP-ENV:Envelope>
> >
> >
>
>
> --
> Jesus M. Salvo Jr.
> Mobile Internet Group Pty Ltd
> (formerly Softgame International Pty Ltd)
> M: +61 409 126699
> T: +61 2 94604777
> F: +61 2 94603677
>
> PGP Public key: http://pgp.mit.edu:11371/pks/lookup?op=get&search=0xC0BA5348
>
>
>
> --
> To unsubscribe, e-mail: <ma...@xml.apache.org>
> For additional commands, e-mail: <ma...@xml.apache.org>
>
>
Scott Nichol
--
To unsubscribe, e-mail: <ma...@xml.apache.org>
For additional commands, e-mail: <ma...@xml.apache.org>
Re: service "XYZ" uinknown and other questions
Posted by Scott Nichol <sn...@scottnichol.com>.
The SOAP specification does not specify how the client and server
agree on how the desired action is specified. Some implementations,
such as .NET, rely on the SOAPAction header. That's great for HTTP,
but not every transport has headers like HTTP does. The original
Apache SOAP developers used the namespace of the first child of the
SOAP Body because that is transport independent, and it allows
multiple services to reside at a single endpoint.
On 16 Jan 2003 at 14:58, Jesus M. Salvo Jr. wrote:
>
> Okay ... I was able to workaround this problem by undeploying the
> service and re-deploying it with a different deployment descriptor like
> this:
>
> <isd:service xmlns:isd="http://xml.apache.org/xml-soap/deployment"
> id="http://www.3gpp.org/ftp/Specs/archive/23_series/23.140/schema/REL-5-MM7-1-0"
> type="message">
> <isd:provider type="java" scope="Application" methods="SubmitReq">
> <isd:java class="com.mig.mms.mm7.V5_4_0.MMServerReceiverImpl"/>
> </isd:provider>
>
> <isd:faultListener>org.apache.soap.server.DOMFaultListener</isd:faultListener>
>
> </isd:service>
>
> Question is ... why does Apache-SOAP uses the xmlns to match the id of
> the service?
>
> Jesus M. Salvo Jr. wrote:
>
> >
> > Using Tomcat 4.1 + Soap 2.3.1
> >
> > I know this is in the FAQ ... but I am still confused.
> > You will see from below that SOAP server is complaining that the
> > service "xyz" is unknown .... but "xyz" is an XML namespace!!
> > * Why would it think that the namespace in the SOAP message that I
> > sent is the service?
> > * As a general question, how does Apache SOAP identify the message
> > service being requested anyway?
> > * How can u turn on debugging or versbose information on Tomcat 4.1 so
> > that I can see that Apache-SOAP is doing?
> >
> > Note that I have added jaxp-api.jar, dom.jar, sax.jar,
> > xercesImpl.jar, into $TOMCAT_HOME/common/lib/
> >
> > Here are the steps that I made:
> >
> > 1) I add a JAR called mm7.jar and placed it in
> > webapps/soap/WEB-INF/lib/. This JAR contains the class mentioned on
> > step [2] when deploying the SOAP service.
> >
> > 2) I have deployed a SOAP messaging service with the following
> > deployment descriptor:
> >
> > <isd:service xmlns:isd="http://xml.apache.org/xml-soap/deployment"
> > id="urn:mmserver" type="message">
> > <isd:provider type="java" scope="Application" methods="SubmitReq">
> > <isd:java
> > class="com.mig.mms.mm7.V5_4_0.MMServerReceiverImpl"/>
> > </isd:provider>
> >
> > <isd:faultListener>org.apache.soap.server.DOMFaultListener</isd:faultListener>
> >
> > </isd:service>
> >
> > Ran:
> > java org.apache.soap.server.ServiceManagerClient
> > http://192.168.0.82:8080/soap/servlet/rpcrouter deploy mm7.xml
> >
> > No errors reported ... and a list of the services show:
> >
> > Deployed Services:
> > urn:mmserver
> >
> > 3) From a client, I send the following to
> > http://192.168.0.82:8080/soap/servlet/messagerouter:
> >
> > <?xml version='1.0' encoding='UTF-8'?>
> > <SOAP-ENV:Envelope
> > xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"
> > xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
> > xmlns:xsd="http://www.w3.org/2001/XMLSchema">
> > <SOAP-ENV:Header>
> > <mm7:TransactionID
> > xmlns:mm7="http://www.3gpp.org/ftp/Specs/archive/23_series/23.140/schema/REL-5-MM7-1-0">123</mm7:TransactionID>
> >
> > </SOAP-ENV:Header>
> > <SOAP-ENV:Body>
> > <mm7:SubmitReq
> > xmlns:mm7="http://www.3gpp.org/ftp/Specs/archive/23_series/23.140/schema/REL-5-MM7-1-0">
> >
> > <MM7Version>5.4.0</MM7Version>
> > <SenderIdentification>
> > <VASPID>TestAccount</VASPID>
> > <VASID>TestPass</VASID>
> > <SenderAddress>+6161616161</SenderAddress>
> > </SenderIdentification>
> > <Recipients/>
> > <ServiceCode>er2sdf</ServiceCode>
> > <MessageClass>Informational</MessageClass>
> > <TimeStamp>2003-01-16T13:17:41+10:00</TimeStamp>
> > <EarliestDeliveryTime>2003-01-16T13:17:41+10:00</EarliestDeliveryTime>
> > <ExpiryDate>2003-01-16T13:17:41+10:00</ExpiryDate>
> > <DeliveryReport>false</DeliveryReport>
> > <Priority>Normal</Priority>
> > <DistributionIndicator>false</DistributionIndicator>
> > </mm7:SubmitReq>
> > </SOAP-ENV:Body>
> > </SOAP-ENV:Envelope>
> >
> > 4) Here is the response that I get:
> >
> > HTTP/1.1 500 Internal Server Error
> > Set-Cookie: JSESSIONID=CB8DCEFB04F423852D2B3281379A689D; Path=/soap
> > Content-Type: text/xml; charset=utf-8
> > Content-Length: 531
> > Date: Thu, 16 Jan 2003 02:14:54 GMT
> > Server: Apache Coyote/1.0
> > Connection: close
> >
> > <?xml version='1.0' encoding='UTF-8'?>
> > <SOAP-ENV:Envelope
> > xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"
> > xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
> > xmlns:xsd="http://www.w3.org/2001/XMLSchema">
> > <SOAP-ENV:Body>
> > <SOAP-ENV:Fault>
> > <faultcode>SOAP-ENV:Server</faultcode>
> > <faultstring>service
> > 'http://www.3gpp.org/ftp/Specs/archive/23_series/23.140/schema/REL-5-MM7-1-0'
> > unknown</faultstring>
> > <faultactor>/soap/servlet/messagerouter</faultactor>
> > </SOAP-ENV:Fault>
> > </SOAP-ENV:Body>
> > </SOAP-ENV:Envelope>
> >
> >
>
>
> --
> Jesus M. Salvo Jr.
> Mobile Internet Group Pty Ltd
> (formerly Softgame International Pty Ltd)
> M: +61 409 126699
> T: +61 2 94604777
> F: +61 2 94603677
>
> PGP Public key: http://pgp.mit.edu:11371/pks/lookup?op=get&search=0xC0BA5348
>
>
>
> --
> To unsubscribe, e-mail: <ma...@xml.apache.org>
> For additional commands, e-mail: <ma...@xml.apache.org>
>
>
Scott Nichol
Re: service "XYZ" uinknown and other questions
Posted by "Jesus M. Salvo Jr." <je...@migasia.com>.
Okay ... I was able to workaround this problem by undeploying the
service and re-deploying it with a different deployment descriptor like
this:
<isd:service xmlns:isd="http://xml.apache.org/xml-soap/deployment"
id="http://www.3gpp.org/ftp/Specs/archive/23_series/23.140/schema/REL-5-MM7-1-0"
type="message">
<isd:provider type="java" scope="Application" methods="SubmitReq">
<isd:java class="com.mig.mms.mm7.V5_4_0.MMServerReceiverImpl"/>
</isd:provider>
<isd:faultListener>org.apache.soap.server.DOMFaultListener</isd:faultListener>
</isd:service>
Question is ... why does Apache-SOAP uses the xmlns to match the id of
the service?
Jesus M. Salvo Jr. wrote:
>
> Using Tomcat 4.1 + Soap 2.3.1
>
> I know this is in the FAQ ... but I am still confused.
> You will see from below that SOAP server is complaining that the
> service "xyz" is unknown .... but "xyz" is an XML namespace!!
> * Why would it think that the namespace in the SOAP message that I
> sent is the service?
> * As a general question, how does Apache SOAP identify the message
> service being requested anyway?
> * How can u turn on debugging or versbose information on Tomcat 4.1 so
> that I can see that Apache-SOAP is doing?
>
> Note that I have added jaxp-api.jar, dom.jar, sax.jar,
> xercesImpl.jar, into $TOMCAT_HOME/common/lib/
>
> Here are the steps that I made:
>
> 1) I add a JAR called mm7.jar and placed it in
> webapps/soap/WEB-INF/lib/. This JAR contains the class mentioned on
> step [2] when deploying the SOAP service.
>
> 2) I have deployed a SOAP messaging service with the following
> deployment descriptor:
>
> <isd:service xmlns:isd="http://xml.apache.org/xml-soap/deployment"
> id="urn:mmserver" type="message">
> <isd:provider type="java" scope="Application" methods="SubmitReq">
> <isd:java
> class="com.mig.mms.mm7.V5_4_0.MMServerReceiverImpl"/>
> </isd:provider>
>
> <isd:faultListener>org.apache.soap.server.DOMFaultListener</isd:faultListener>
>
> </isd:service>
>
> Ran:
> java org.apache.soap.server.ServiceManagerClient
> http://192.168.0.82:8080/soap/servlet/rpcrouter deploy mm7.xml
>
> No errors reported ... and a list of the services show:
>
> Deployed Services:
> urn:mmserver
>
> 3) From a client, I send the following to
> http://192.168.0.82:8080/soap/servlet/messagerouter:
>
> <?xml version='1.0' encoding='UTF-8'?>
> <SOAP-ENV:Envelope
> xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"
> xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
> xmlns:xsd="http://www.w3.org/2001/XMLSchema">
> <SOAP-ENV:Header>
> <mm7:TransactionID
> xmlns:mm7="http://www.3gpp.org/ftp/Specs/archive/23_series/23.140/schema/REL-5-MM7-1-0">123</mm7:TransactionID>
>
> </SOAP-ENV:Header>
> <SOAP-ENV:Body>
> <mm7:SubmitReq
> xmlns:mm7="http://www.3gpp.org/ftp/Specs/archive/23_series/23.140/schema/REL-5-MM7-1-0">
>
> <MM7Version>5.4.0</MM7Version>
> <SenderIdentification>
> <VASPID>TestAccount</VASPID>
> <VASID>TestPass</VASID>
> <SenderAddress>+6161616161</SenderAddress>
> </SenderIdentification>
> <Recipients/>
> <ServiceCode>er2sdf</ServiceCode>
> <MessageClass>Informational</MessageClass>
> <TimeStamp>2003-01-16T13:17:41+10:00</TimeStamp>
> <EarliestDeliveryTime>2003-01-16T13:17:41+10:00</EarliestDeliveryTime>
> <ExpiryDate>2003-01-16T13:17:41+10:00</ExpiryDate>
> <DeliveryReport>false</DeliveryReport>
> <Priority>Normal</Priority>
> <DistributionIndicator>false</DistributionIndicator>
> </mm7:SubmitReq>
> </SOAP-ENV:Body>
> </SOAP-ENV:Envelope>
>
> 4) Here is the response that I get:
>
> HTTP/1.1 500 Internal Server Error
> Set-Cookie: JSESSIONID=CB8DCEFB04F423852D2B3281379A689D; Path=/soap
> Content-Type: text/xml; charset=utf-8
> Content-Length: 531
> Date: Thu, 16 Jan 2003 02:14:54 GMT
> Server: Apache Coyote/1.0
> Connection: close
>
> <?xml version='1.0' encoding='UTF-8'?>
> <SOAP-ENV:Envelope
> xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"
> xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
> xmlns:xsd="http://www.w3.org/2001/XMLSchema">
> <SOAP-ENV:Body>
> <SOAP-ENV:Fault>
> <faultcode>SOAP-ENV:Server</faultcode>
> <faultstring>service
> 'http://www.3gpp.org/ftp/Specs/archive/23_series/23.140/schema/REL-5-MM7-1-0'
> unknown</faultstring>
> <faultactor>/soap/servlet/messagerouter</faultactor>
> </SOAP-ENV:Fault>
> </SOAP-ENV:Body>
> </SOAP-ENV:Envelope>
>
>
--
Jesus M. Salvo Jr.
Mobile Internet Group Pty Ltd
(formerly Softgame International Pty Ltd)
M: +61 409 126699
T: +61 2 94604777
F: +61 2 94603677
PGP Public key: http://pgp.mit.edu:11371/pks/lookup?op=get&search=0xC0BA5348
--
To unsubscribe, e-mail: <ma...@xml.apache.org>
For additional commands, e-mail: <ma...@xml.apache.org>
Re: service "XYZ" uinknown and other questions
Posted by "Jesus M. Salvo Jr." <je...@migasia.com>.
Okay ... I was able to workaround this problem by undeploying the
service and re-deploying it with a different deployment descriptor like
this:
<isd:service xmlns:isd="http://xml.apache.org/xml-soap/deployment"
id="http://www.3gpp.org/ftp/Specs/archive/23_series/23.140/schema/REL-5-MM7-1-0"
type="message">
<isd:provider type="java" scope="Application" methods="SubmitReq">
<isd:java class="com.mig.mms.mm7.V5_4_0.MMServerReceiverImpl"/>
</isd:provider>
<isd:faultListener>org.apache.soap.server.DOMFaultListener</isd:faultListener>
</isd:service>
Question is ... why does Apache-SOAP uses the xmlns to match the id of
the service?
Jesus M. Salvo Jr. wrote:
>
> Using Tomcat 4.1 + Soap 2.3.1
>
> I know this is in the FAQ ... but I am still confused.
> You will see from below that SOAP server is complaining that the
> service "xyz" is unknown .... but "xyz" is an XML namespace!!
> * Why would it think that the namespace in the SOAP message that I
> sent is the service?
> * As a general question, how does Apache SOAP identify the message
> service being requested anyway?
> * How can u turn on debugging or versbose information on Tomcat 4.1 so
> that I can see that Apache-SOAP is doing?
>
> Note that I have added jaxp-api.jar, dom.jar, sax.jar,
> xercesImpl.jar, into $TOMCAT_HOME/common/lib/
>
> Here are the steps that I made:
>
> 1) I add a JAR called mm7.jar and placed it in
> webapps/soap/WEB-INF/lib/. This JAR contains the class mentioned on
> step [2] when deploying the SOAP service.
>
> 2) I have deployed a SOAP messaging service with the following
> deployment descriptor:
>
> <isd:service xmlns:isd="http://xml.apache.org/xml-soap/deployment"
> id="urn:mmserver" type="message">
> <isd:provider type="java" scope="Application" methods="SubmitReq">
> <isd:java
> class="com.mig.mms.mm7.V5_4_0.MMServerReceiverImpl"/>
> </isd:provider>
>
> <isd:faultListener>org.apache.soap.server.DOMFaultListener</isd:faultListener>
>
> </isd:service>
>
> Ran:
> java org.apache.soap.server.ServiceManagerClient
> http://192.168.0.82:8080/soap/servlet/rpcrouter deploy mm7.xml
>
> No errors reported ... and a list of the services show:
>
> Deployed Services:
> urn:mmserver
>
> 3) From a client, I send the following to
> http://192.168.0.82:8080/soap/servlet/messagerouter:
>
> <?xml version='1.0' encoding='UTF-8'?>
> <SOAP-ENV:Envelope
> xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"
> xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
> xmlns:xsd="http://www.w3.org/2001/XMLSchema">
> <SOAP-ENV:Header>
> <mm7:TransactionID
> xmlns:mm7="http://www.3gpp.org/ftp/Specs/archive/23_series/23.140/schema/REL-5-MM7-1-0">123</mm7:TransactionID>
>
> </SOAP-ENV:Header>
> <SOAP-ENV:Body>
> <mm7:SubmitReq
> xmlns:mm7="http://www.3gpp.org/ftp/Specs/archive/23_series/23.140/schema/REL-5-MM7-1-0">
>
> <MM7Version>5.4.0</MM7Version>
> <SenderIdentification>
> <VASPID>TestAccount</VASPID>
> <VASID>TestPass</VASID>
> <SenderAddress>+6161616161</SenderAddress>
> </SenderIdentification>
> <Recipients/>
> <ServiceCode>er2sdf</ServiceCode>
> <MessageClass>Informational</MessageClass>
> <TimeStamp>2003-01-16T13:17:41+10:00</TimeStamp>
> <EarliestDeliveryTime>2003-01-16T13:17:41+10:00</EarliestDeliveryTime>
> <ExpiryDate>2003-01-16T13:17:41+10:00</ExpiryDate>
> <DeliveryReport>false</DeliveryReport>
> <Priority>Normal</Priority>
> <DistributionIndicator>false</DistributionIndicator>
> </mm7:SubmitReq>
> </SOAP-ENV:Body>
> </SOAP-ENV:Envelope>
>
> 4) Here is the response that I get:
>
> HTTP/1.1 500 Internal Server Error
> Set-Cookie: JSESSIONID=CB8DCEFB04F423852D2B3281379A689D; Path=/soap
> Content-Type: text/xml; charset=utf-8
> Content-Length: 531
> Date: Thu, 16 Jan 2003 02:14:54 GMT
> Server: Apache Coyote/1.0
> Connection: close
>
> <?xml version='1.0' encoding='UTF-8'?>
> <SOAP-ENV:Envelope
> xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"
> xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
> xmlns:xsd="http://www.w3.org/2001/XMLSchema">
> <SOAP-ENV:Body>
> <SOAP-ENV:Fault>
> <faultcode>SOAP-ENV:Server</faultcode>
> <faultstring>service
> 'http://www.3gpp.org/ftp/Specs/archive/23_series/23.140/schema/REL-5-MM7-1-0'
> unknown</faultstring>
> <faultactor>/soap/servlet/messagerouter</faultactor>
> </SOAP-ENV:Fault>
> </SOAP-ENV:Body>
> </SOAP-ENV:Envelope>
>
>
--
Jesus M. Salvo Jr.
Mobile Internet Group Pty Ltd
(formerly Softgame International Pty Ltd)
M: +61 409 126699
T: +61 2 94604777
F: +61 2 94603677
PGP Public key: http://pgp.mit.edu:11371/pks/lookup?op=get&search=0xC0BA5348
Re: service "XYZ" uinknown and other questions
Posted by Scott Nichol <sn...@scottnichol.com>.
The service/method to execute is determined by the name of the
element that is the first child of the SOAP Body element. The
service corresponds to the namespace of this element. In your
deployment descriptor, you specify the id as urn:mmserver, which is
the namespace that identifies your service. Therefore, your request
should have an element more like
<mm7:SubmitReq xmlns:mm7="urn:mmserver">
On 16 Jan 2003 at 14:24, Jesus M. Salvo Jr. wrote:
>
> Using Tomcat 4.1 + Soap 2.3.1
>
> I know this is in the FAQ ... but I am still confused.
> You will see from below that SOAP server is complaining that the service
> "xyz" is unknown .... but "xyz" is an XML namespace!!
> * Why would it think that the namespace in the SOAP message that I sent
> is the service?
> * As a general question, how does Apache SOAP identify the message
> service being requested anyway?
> * How can u turn on debugging or versbose information on Tomcat 4.1 so
> that I can see that Apache-SOAP is doing?
>
> Note that I have added jaxp-api.jar, dom.jar, sax.jar, xercesImpl.jar,
> into $TOMCAT_HOME/common/lib/
>
> Here are the steps that I made:
>
> 1) I add a JAR called mm7.jar and placed it in
> webapps/soap/WEB-INF/lib/. This JAR contains the class mentioned on step
> [2] when deploying the SOAP service.
>
> 2) I have deployed a SOAP messaging service with the following
> deployment descriptor:
>
> <isd:service xmlns:isd="http://xml.apache.org/xml-soap/deployment"
> id="urn:mmserver" type="message">
> <isd:provider type="java" scope="Application" methods="SubmitReq">
> <isd:java class="com.mig.mms.mm7.V5_4_0.MMServerReceiverImpl"/>
> </isd:provider>
>
> <isd:faultListener>org.apache.soap.server.DOMFaultListener</isd:faultListener>
> </isd:service>
>
> Ran:
> java org.apache.soap.server.ServiceManagerClient
> http://192.168.0.82:8080/soap/servlet/rpcrouter deploy mm7.xml
>
> No errors reported ... and a list of the services show:
>
> Deployed Services:
> urn:mmserver
>
> 3) From a client, I send the following to
> http://192.168.0.82:8080/soap/servlet/messagerouter:
>
> <?xml version='1.0' encoding='UTF-8'?>
> <SOAP-ENV:Envelope
> xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"
> xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
> xmlns:xsd="http://www.w3.org/2001/XMLSchema">
> <SOAP-ENV:Header>
> <mm7:TransactionID
> xmlns:mm7="http://www.3gpp.org/ftp/Specs/archive/23_series/23.140/schema/REL-5-MM7-1-0">123</mm7:TransactionID>
> </SOAP-ENV:Header>
> <SOAP-ENV:Body>
> <mm7:SubmitReq
> xmlns:mm7="http://www.3gpp.org/ftp/Specs/archive/23_series/23.140/schema/REL-5-MM7-1-0">
> <MM7Version>5.4.0</MM7Version>
> <SenderIdentification>
> <VASPID>TestAccount</VASPID>
> <VASID>TestPass</VASID>
> <SenderAddress>+6161616161</SenderAddress>
> </SenderIdentification>
> <Recipients/>
> <ServiceCode>er2sdf</ServiceCode>
> <MessageClass>Informational</MessageClass>
> <TimeStamp>2003-01-16T13:17:41+10:00</TimeStamp>
> <EarliestDeliveryTime>2003-01-16T13:17:41+10:00</EarliestDeliveryTime>
> <ExpiryDate>2003-01-16T13:17:41+10:00</ExpiryDate>
> <DeliveryReport>false</DeliveryReport>
> <Priority>Normal</Priority>
> <DistributionIndicator>false</DistributionIndicator>
> </mm7:SubmitReq>
> </SOAP-ENV:Body>
> </SOAP-ENV:Envelope>
>
> 4) Here is the response that I get:
>
> HTTP/1.1 500 Internal Server Error
> Set-Cookie: JSESSIONID=CB8DCEFB04F423852D2B3281379A689D; Path=/soap
> Content-Type: text/xml; charset=utf-8
> Content-Length: 531
> Date: Thu, 16 Jan 2003 02:14:54 GMT
> Server: Apache Coyote/1.0
> Connection: close
>
> <?xml version='1.0' encoding='UTF-8'?>
> <SOAP-ENV:Envelope
> xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"
> xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
> xmlns:xsd="http://www.w3.org/2001/XMLSchema">
> <SOAP-ENV:Body>
> <SOAP-ENV:Fault>
> <faultcode>SOAP-ENV:Server</faultcode>
> <faultstring>service
> 'http://www.3gpp.org/ftp/Specs/archive/23_series/23.140/schema/REL-5-MM7-1-0'
> unknown</faultstring>
> <faultactor>/soap/servlet/messagerouter</faultactor>
> </SOAP-ENV:Fault>
> </SOAP-ENV:Body>
> </SOAP-ENV:Envelope>
>
>
>
> --
> To unsubscribe, e-mail: <ma...@xml.apache.org>
> For additional commands, e-mail: <ma...@xml.apache.org>
>
>
Scott Nichol
Re: service "XYZ" uinknown and other questions
Posted by Scott Nichol <sn...@scottnichol.com>.
The service/method to execute is determined by the name of the
element that is the first child of the SOAP Body element. The
service corresponds to the namespace of this element. In your
deployment descriptor, you specify the id as urn:mmserver, which is
the namespace that identifies your service. Therefore, your request
should have an element more like
<mm7:SubmitReq xmlns:mm7="urn:mmserver">
On 16 Jan 2003 at 14:24, Jesus M. Salvo Jr. wrote:
>
> Using Tomcat 4.1 + Soap 2.3.1
>
> I know this is in the FAQ ... but I am still confused.
> You will see from below that SOAP server is complaining that the service
> "xyz" is unknown .... but "xyz" is an XML namespace!!
> * Why would it think that the namespace in the SOAP message that I sent
> is the service?
> * As a general question, how does Apache SOAP identify the message
> service being requested anyway?
> * How can u turn on debugging or versbose information on Tomcat 4.1 so
> that I can see that Apache-SOAP is doing?
>
> Note that I have added jaxp-api.jar, dom.jar, sax.jar, xercesImpl.jar,
> into $TOMCAT_HOME/common/lib/
>
> Here are the steps that I made:
>
> 1) I add a JAR called mm7.jar and placed it in
> webapps/soap/WEB-INF/lib/. This JAR contains the class mentioned on step
> [2] when deploying the SOAP service.
>
> 2) I have deployed a SOAP messaging service with the following
> deployment descriptor:
>
> <isd:service xmlns:isd="http://xml.apache.org/xml-soap/deployment"
> id="urn:mmserver" type="message">
> <isd:provider type="java" scope="Application" methods="SubmitReq">
> <isd:java class="com.mig.mms.mm7.V5_4_0.MMServerReceiverImpl"/>
> </isd:provider>
>
> <isd:faultListener>org.apache.soap.server.DOMFaultListener</isd:faultListener>
> </isd:service>
>
> Ran:
> java org.apache.soap.server.ServiceManagerClient
> http://192.168.0.82:8080/soap/servlet/rpcrouter deploy mm7.xml
>
> No errors reported ... and a list of the services show:
>
> Deployed Services:
> urn:mmserver
>
> 3) From a client, I send the following to
> http://192.168.0.82:8080/soap/servlet/messagerouter:
>
> <?xml version='1.0' encoding='UTF-8'?>
> <SOAP-ENV:Envelope
> xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"
> xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
> xmlns:xsd="http://www.w3.org/2001/XMLSchema">
> <SOAP-ENV:Header>
> <mm7:TransactionID
> xmlns:mm7="http://www.3gpp.org/ftp/Specs/archive/23_series/23.140/schema/REL-5-MM7-1-0">123</mm7:TransactionID>
> </SOAP-ENV:Header>
> <SOAP-ENV:Body>
> <mm7:SubmitReq
> xmlns:mm7="http://www.3gpp.org/ftp/Specs/archive/23_series/23.140/schema/REL-5-MM7-1-0">
> <MM7Version>5.4.0</MM7Version>
> <SenderIdentification>
> <VASPID>TestAccount</VASPID>
> <VASID>TestPass</VASID>
> <SenderAddress>+6161616161</SenderAddress>
> </SenderIdentification>
> <Recipients/>
> <ServiceCode>er2sdf</ServiceCode>
> <MessageClass>Informational</MessageClass>
> <TimeStamp>2003-01-16T13:17:41+10:00</TimeStamp>
> <EarliestDeliveryTime>2003-01-16T13:17:41+10:00</EarliestDeliveryTime>
> <ExpiryDate>2003-01-16T13:17:41+10:00</ExpiryDate>
> <DeliveryReport>false</DeliveryReport>
> <Priority>Normal</Priority>
> <DistributionIndicator>false</DistributionIndicator>
> </mm7:SubmitReq>
> </SOAP-ENV:Body>
> </SOAP-ENV:Envelope>
>
> 4) Here is the response that I get:
>
> HTTP/1.1 500 Internal Server Error
> Set-Cookie: JSESSIONID=CB8DCEFB04F423852D2B3281379A689D; Path=/soap
> Content-Type: text/xml; charset=utf-8
> Content-Length: 531
> Date: Thu, 16 Jan 2003 02:14:54 GMT
> Server: Apache Coyote/1.0
> Connection: close
>
> <?xml version='1.0' encoding='UTF-8'?>
> <SOAP-ENV:Envelope
> xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"
> xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
> xmlns:xsd="http://www.w3.org/2001/XMLSchema">
> <SOAP-ENV:Body>
> <SOAP-ENV:Fault>
> <faultcode>SOAP-ENV:Server</faultcode>
> <faultstring>service
> 'http://www.3gpp.org/ftp/Specs/archive/23_series/23.140/schema/REL-5-MM7-1-0'
> unknown</faultstring>
> <faultactor>/soap/servlet/messagerouter</faultactor>
> </SOAP-ENV:Fault>
> </SOAP-ENV:Body>
> </SOAP-ENV:Envelope>
>
>
>
> --
> To unsubscribe, e-mail: <ma...@xml.apache.org>
> For additional commands, e-mail: <ma...@xml.apache.org>
>
>
Scott Nichol
--
To unsubscribe, e-mail: <ma...@xml.apache.org>
For additional commands, e-mail: <ma...@xml.apache.org>