You are viewing a plain text version of this content. The canonical link for it is here.
Posted to soap-user@ws.apache.org by br...@jpmorgan.com on 2003/05/13 00:02:38 UTC

unknown service and dds.xml

I am getting a service unknown error from my soap configuration.   My
understanding is that
the dds.xml file, the web.xml and the clientProxy.java are the main
configuration files that
I have to set.   I am doing this all by hand directly as I am trying to
understand how to
set the files for deployment.

I have come across a mention of DeploymentService.ds file, but I am not
using this and I think
this is optional...that it gets compiled back into the dds.xml... Is this
correct?

The service unknown problem seems to be an inablity to find an entry in the
dds.xml file,
I have tried both URN and HTTP, but I can't get either to work with my
current settings

I have the rpcrouter setup correctly and get the error referred to the in
documentation
when I use the bare router address from the web browser.   This code was
working when
I used localhost:8080, but I moved to an IP address as part of
understanding a true
deployment and then it broke.   Any pointers would be greatly appreciated.


I am trying to figure our how to configure SOAP on WSAD version 4.0.3 and
websphere version 4.0.3.



For the WEB.XML file I have the following:
------------------------------------------

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE web-app PUBLIC
     "-//Sun Microsystems, Inc.//DTD Web Application 2.2//EN"
     "http://java.sun.com/j2ee/dtds/web-app_2_2.dtd">
<web-app id="WebApp">
      <display-name>notifWeb</display-name>
      <servlet>
            <servlet-name>SOAPMessageReceiver</servlet-name>
            <display-name>SOAPMessageReceiver</display-name>

<servlet-class>com.jpm.aqueduct.notification.servlet.SOAPMessageReceiver</servlet-class>
      </servlet>
      <servlet>
            <servlet-name>rpcrouter</servlet-name>
            <display-name>Apache-SOAP RPC Router</display-name>
            <description>no description</description>

<servlet-class>com.ibm.soap.server.http.WASRPCRouterServlet</servlet-class>
            <init-param>
                  <param-name>faultListener</param-name>

<param-value>org.apache.soap.server.DOMFaultListener</param-value>
            </init-param>
      </servlet>
      <servlet>
            <servlet-name>messagerouter</servlet-name>
            <display-name>Apache-SOAP Message Router</display-name>
            <description>no description</description>

<servlet-class>com.ibm.soap.server.http.WASMessageRouterServlet</servlet-class>
            <init-param>
                  <param-name>faultListener</param-name>

<param-value>org.apache.soap.server.DOMFaultListener</param-value>
            </init-param>
      </servlet>
      <servlet-mapping>
            <servlet-name>SOAPMessageReceiver</servlet-name>
            <url-pattern>SOAPMessageReceiver</url-pattern>
      </servlet-mapping>
      <servlet-mapping>
            <servlet-name>rpcrouter</servlet-name>
            <url-pattern>servlet/rpcrouter</url-pattern>
      </servlet-mapping>
      <servlet-mapping>
            <servlet-name>messagerouter</servlet-name>
            <url-pattern>servlet/messagerouter</url-pattern>
      </servlet-mapping>
      <welcome-file-list>
            <welcome-file>index.html</welcome-file>
      </welcome-file-list>
</web-app>

for the dds.xml I have the following:
=====================================



<root>
<isd:service xmlns:isd="http://xml.apache.org/xml-soap/deployment"
  id="urn:ArchiveData" checkMustUnderstands="false">
  <isd:provider type="java"
    scope="Application"
    methods="updateArchiveData getArchiveArray updateArchiveArrayData">
    <isd:java class
="com.jpm.aqueduct.notification.client.archive.ArchiveData" static
="false"/>
  </isd:provider>
  <isd:mappings>
    <isd:map encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
         xmlns:x
="http://www.archivedata.com/schemas/ArchiveDataRemoteInterface"
         qname
="x:com.jpm.aqueduct.notification.client.archive.ArchiveInputVO"
         javaType
="com.jpm.aqueduct.notification.client.archive.ArchiveInputVO"
         xml2JavaClassName
="org.apache.soap.encoding.soapenc.BeanSerializer"
         java2XMLClassName
="org.apache.soap.encoding.soapenc.BeanSerializer"/>

    <isd:map encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
         xmlns:x
="http://www.archivedata.com/schemas/ArchiveDataRemoteInterface"
         qname
="x:com.jpm.aqueduct.notification.client.archive.ArchiveReturnVO"
         javaType
="com.jpm.aqueduct.notification.client.archive.ArchiveReturnVO"
         xml2JavaClassName
="org.apache.soap.encoding.soapenc.BeanSerializer"
         java2XMLClassName
="org.apache.soap.encoding.soapenc.BeanSerializer"/>

    <isd:map encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
         xmlns:x
="http://www.archivedata.com/schemas/ArchiveDataRemoteInterface"
         qname
="x:com.jpm.aqueduct.notification.client.archive.ArchiveUpdateInputVO"
         javaType
="com.jpm.aqueduct.notification.client.archive.ArchiveUpdateInputVO"
         xml2JavaClassName
="org.apache.soap.encoding.soapenc.BeanSerializer"
         java2XMLClassName
="org.apache.soap.encoding.soapenc.BeanSerializer"/>
  </isd:mappings>
</isd:service>
</root>

I am using the following in the clientProxy.java:
==================================================

Note:  I have tried both urn and http,

public class ArchiveDataProxy
{
  private Call call = new Call();
  private URL url = null;
  private SOAPMappingRegistry smr = call.getSOAPMappingRegistry();

  private String stringURL
= "http://10.72.58.101:8080/notifWeb/servlet/rpcrouter";

 public synchronized boolean updateArchiveData(ArchiveUpdateInputVO
inputVO) throws Exception
  {
       String targetObjectURI = "urn:ArchiveData";
//     String targetObjectURI = "http://10.72.58.101:8080/ArchiveData";
       String SOAPActionURI = "";








This communication is for informational purposes only.  It is not intended as
an offer or solicitation for the purchase or sale of any financial instrument
or as an official confirmation of any transaction. All market prices, data
and other information are not warranted as to completeness or accuracy and
are subject to change without notice. Any comments or statements made herein
do not necessarily reflect those of J.P. Morgan Chase & Co., its
subsidiaries and affiliates.


Re: unknown service and dds.xml

Posted by Scott Nichol <sn...@scottnichol.com>.
I am not sure about what mods may have been made to Apache SOAP in 
WSAD.  The docs for out-of-the-box Apache SOAP configuration are at 
http://ws.apache.org/soap/docs/guide/config.html.

With standard Apache SOAP, if you want to have an XML configuration 
file for the services, you must specify so in the soap.xml 
configuration file.  Your web.xml file should point to the soap.xml 
file, although there is a default of "soap.xml".

To test whether or not your dds.xml file has been loaded, run

java org.apache.soap.service.ServiceManagerClient url-to-soap list

On 12 May 2003 at 17:02, brian.c.smith@jpmorgan.com wrote:

> I am getting a service unknown error from my soap configuration.   My
> understanding is that
> the dds.xml file, the web.xml and the clientProxy.java are the main
> configuration files that
> I have to set.   I am doing this all by hand directly as I am trying to
> understand how to
> set the files for deployment.
> 
> I have come across a mention of DeploymentService.ds file, but I am not
> using this and I think
> this is optional...that it gets compiled back into the dds.xml... Is this
> correct?
> 
> The service unknown problem seems to be an inablity to find an entry in the
> dds.xml file,
> I have tried both URN and HTTP, but I can't get either to work with my
> current settings
> 
> I have the rpcrouter setup correctly and get the error referred to the in
> documentation
> when I use the bare router address from the web browser.   This code was
> working when
> I used localhost:8080, but I moved to an IP address as part of
> understanding a true
> deployment and then it broke.   Any pointers would be greatly appreciated.
> 
> 
> I am trying to figure our how to configure SOAP on WSAD version 4.0.3 and
> websphere version 4.0.3.
> 
> 
> 
> For the WEB.XML file I have the following:
> ------------------------------------------
> 
> <?xml version="1.0" encoding="UTF-8"?>
> <!DOCTYPE web-app PUBLIC
>      "-//Sun Microsystems, Inc.//DTD Web Application 2.2//EN"
>      "http://java.sun.com/j2ee/dtds/web-app_2_2.dtd">
> <web-app id="WebApp">
>       <display-name>notifWeb</display-name>
>       <servlet>
>             <servlet-name>SOAPMessageReceiver</servlet-name>
>             <display-name>SOAPMessageReceiver</display-name>
> 
> <servlet-class>com.jpm.aqueduct.notification.servlet.SOAPMessageReceiver</servlet-class>
>       </servlet>
>       <servlet>
>             <servlet-name>rpcrouter</servlet-name>
>             <display-name>Apache-SOAP RPC Router</display-name>
>             <description>no description</description>
> 
> <servlet-class>com.ibm.soap.server.http.WASRPCRouterServlet</servlet-class>
>             <init-param>
>                   <param-name>faultListener</param-name>
> 
> <param-value>org.apache.soap.server.DOMFaultListener</param-value>
>             </init-param>
>       </servlet>
>       <servlet>
>             <servlet-name>messagerouter</servlet-name>
>             <display-name>Apache-SOAP Message Router</display-name>
>             <description>no description</description>
> 
> <servlet-class>com.ibm.soap.server.http.WASMessageRouterServlet</servlet-class>
>             <init-param>
>                   <param-name>faultListener</param-name>
> 
> <param-value>org.apache.soap.server.DOMFaultListener</param-value>
>             </init-param>
>       </servlet>
>       <servlet-mapping>
>             <servlet-name>SOAPMessageReceiver</servlet-name>
>             <url-pattern>SOAPMessageReceiver</url-pattern>
>       </servlet-mapping>
>       <servlet-mapping>
>             <servlet-name>rpcrouter</servlet-name>
>             <url-pattern>servlet/rpcrouter</url-pattern>
>       </servlet-mapping>
>       <servlet-mapping>
>             <servlet-name>messagerouter</servlet-name>
>             <url-pattern>servlet/messagerouter</url-pattern>
>       </servlet-mapping>
>       <welcome-file-list>
>             <welcome-file>index.html</welcome-file>
>       </welcome-file-list>
> </web-app>
> 
> for the dds.xml I have the following:
> =====================================
> 
> 
> 
> <root>
> <isd:service xmlns:isd="http://xml.apache.org/xml-soap/deployment"
>   id="urn:ArchiveData" checkMustUnderstands="false">
>   <isd:provider type="java"
>     scope="Application"
>     methods="updateArchiveData getArchiveArray updateArchiveArrayData">
>     <isd:java class
> ="com.jpm.aqueduct.notification.client.archive.ArchiveData" static
> ="false"/>
>   </isd:provider>
>   <isd:mappings>
>     <isd:map encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
>          xmlns:x
> ="http://www.archivedata.com/schemas/ArchiveDataRemoteInterface"
>          qname
> ="x:com.jpm.aqueduct.notification.client.archive.ArchiveInputVO"
>          javaType
> ="com.jpm.aqueduct.notification.client.archive.ArchiveInputVO"
>          xml2JavaClassName
> ="org.apache.soap.encoding.soapenc.BeanSerializer"
>          java2XMLClassName
> ="org.apache.soap.encoding.soapenc.BeanSerializer"/>
> 
>     <isd:map encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
>          xmlns:x
> ="http://www.archivedata.com/schemas/ArchiveDataRemoteInterface"
>          qname
> ="x:com.jpm.aqueduct.notification.client.archive.ArchiveReturnVO"
>          javaType
> ="com.jpm.aqueduct.notification.client.archive.ArchiveReturnVO"
>          xml2JavaClassName
> ="org.apache.soap.encoding.soapenc.BeanSerializer"
>          java2XMLClassName
> ="org.apache.soap.encoding.soapenc.BeanSerializer"/>
> 
>     <isd:map encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
>          xmlns:x
> ="http://www.archivedata.com/schemas/ArchiveDataRemoteInterface"
>          qname
> ="x:com.jpm.aqueduct.notification.client.archive.ArchiveUpdateInputVO"
>          javaType
> ="com.jpm.aqueduct.notification.client.archive.ArchiveUpdateInputVO"
>          xml2JavaClassName
> ="org.apache.soap.encoding.soapenc.BeanSerializer"
>          java2XMLClassName
> ="org.apache.soap.encoding.soapenc.BeanSerializer"/>
>   </isd:mappings>
> </isd:service>
> </root>
> 
> I am using the following in the clientProxy.java:
> ==================================================
> 
> Note:  I have tried both urn and http,
> 
> public class ArchiveDataProxy
> {
>   private Call call = new Call();
>   private URL url = null;
>   private SOAPMappingRegistry smr = call.getSOAPMappingRegistry();
> 
>   private String stringURL
> = "http://10.72.58.101:8080/notifWeb/servlet/rpcrouter";
> 
>  public synchronized boolean updateArchiveData(ArchiveUpdateInputVO
> inputVO) throws Exception
>   {
>        String targetObjectURI = "urn:ArchiveData";
> //     String targetObjectURI = "http://10.72.58.101:8080/ArchiveData";
>        String SOAPActionURI = "";
> 
> 
> 
> 
> 
> 
> 
> 
> This communication is for informational purposes only.  It is not intended as
> an offer or solicitation for the purchase or sale of any financial instrument
> or as an official confirmation of any transaction. All market prices, data
> and other information are not warranted as to completeness or accuracy and
> are subject to change without notice. Any comments or statements made herein
> do not necessarily reflect those of J.P. Morgan Chase & Co., its
> subsidiaries and affiliates.
> 
> 


Scott Nichol

Do not reply directly to this e-mail address,
as it is filtered to only receive e-mail from
specific mailing lists.