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 nik <np...@optushome.com.au> on 2001/05/12 10:37:15 UTC

newbie: help i'm stuck!

I'm running Apache/Tomcat on Windows 2000. I have the soap webapp running in Tomcat
and the samples dir is under soap/web-inf. Is that right?

C:\soap-2_1\samples\addressbook>java org.apache.soap.server.ServiceManagerClient
 http://localhost/soap/servlet/rpcrouter deploy DeploymentDescriptor.xml

Exception in thread "main" [SOAPException: faultCode=SOAP-ENV:Client; 
msg=A 'http://schemas.xmlsoap.org/soap/envelope/:Fault' element must contain a: 
'faultcode' element.; targetException=java.lang.IllegalArgumentException: A 
'http://schemas.xmlsoap.org/soap/envelope/:Fault' element must contain a: 'faultcode' 
element.]

How is that fixed?

- Nik


Re: newbie: help i'm stuck!

Posted by nik <np...@optushome.com.au>.
Thanks for your thorough reply Tom, turns out Xerces 1.3.1 was the problem.
Now it works like a charm. I love the TcpTunnelGui - it's genius.

If you were wondering, I've got Apache talking to Tomcat on port 80.

One more question: how important are WSDL files and is there an easy way to
make them?

Nik

----- Original Message -----
From: "Tom Myers" <to...@dreamscape.com>
To: <so...@xml.apache.org>
Cc: <so...@xml.apache.org>
Sent: Saturday, May 12, 2001 9:20 PM
Subject: Re: newbie: help i'm stuck!


> Nik,
> The samples-dir location doesn't matter except that the code
> needs to be on the classpath. Personally I put it in a jar and
> drop it in the jre/lib/ext of my JAVA_HOME, but that's a question
> of convenience. You may be seeing a parser version problem; you
> have to have Xerces 1.2 or Xerces 1.3.0, _not_ Xerces 1.3.1,
> and you have to have it on the front of the classpath, as the
> SOAP install docs explain (they do it by editting tomcat.bat or
> tomcat.sh, I do it by putting 1.3.0 in lib/ext and making sure
> that no other parser is in lib/ext, which obviously wouldn't
> work for everybody but it simplifies things for me.)
>
>
> Specific: the command you were reporting was:
> >     java org.apache.soap.server.ServiceManagerClient
http://localhost/soap/servlet/rpcrouter deploy DeploymentDescriptor.xml
> and that's odd for Tomcat; don't you want localhost:8080/soap...,
> the Tomcat default? Perhaps you're not connecting at all?
>
> Anyway, you're seeing a complaint about what _isn't_ in the
> response, but it's hard to diagnose when you can't see what _is_
> in the response. So use the TcpTunnelGui class: you open a command
> window anywhere and say
>
>    java org.apache.soap.util.net.TcpTunnelGui 8989 localhost 8080
>
> and you'll see a Gui open up with two windows, one linking to
> localhost:8989 and the other to localhost:8080
>
> now you open your normal client window, but instead of referring to
> tomcat as localhost:8080 you refer to it as localhost:8989, e.g.
>
>      java org.apache.soap.server.ServiceManagerClient
http://localhost:8989/soap/servlet/rpcrouter deploy DeploymentDescriptor.xml
>
> and later as
>
> java samples.addressbook.GetAddress
http://localhost:8989/soap/servlet/rpcrouter "John B. Good"
>
> The TcpTunnel object will route everything back and forth between
> 8989 and 8080, and in the left window you'll see what your client is
> sending and in the right window you'll see the responses, whether
> they have faultcodes or not. Hope this helps...
>
> Tom Myers
>
>
>
> At 06:37 PM 5/12/2001 +1000, nik wrote:
> >I'm running Apache/Tomcat on Windows 2000. I have the soap webapp running
in Tomcat
> >and the samples dir is under soap/web-inf. Is that right?
> >
> >C:\soap-2_1\samples\addressbook>java
org.apache.soap.server.ServiceManagerClient
> >
<http://localhost/soap/servlet/rpcrouter>http://localhost/soap/servlet/rpcro
uter deploy DeploymentDescriptor.xml
> >
> >Exception in thread "main" [SOAPException: faultCode=SOAP-ENV:Client;
> >msg=A 'http://schemas.xmlsoap.org/soap/envelope/:Fault' element must
contain a:
> >'faultcode' element.; targetException=java.lang.IllegalArgumentException:
A
> >'http://schemas.xmlsoap.org/soap/envelope/:Fault' element must contain a:
'faultcode'
> >element.]
> >
> >How is that fixed?
> >- Nik
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: soap-user-unsubscribe@xml.apache.org
> For additional commands, email: soap-user-help@xml.apache.org
>


---------------------------------------------------------------------
To unsubscribe, e-mail: soap-user-unsubscribe@xml.apache.org
For additional commands, email: soap-user-help@xml.apache.org


Re: newbie: help i'm stuck!

Posted by nik <np...@optushome.com.au>.
Thanks for your thorough reply Tom, turns out Xerces 1.3.1 was the problem.
Now it works like a charm. I love the TcpTunnelGui - it's genius.

If you were wondering, I've got Apache talking to Tomcat on port 80.

One more question: how important are WSDL files and is there an easy way to
make them?

Nik

----- Original Message -----
From: "Tom Myers" <to...@dreamscape.com>
To: <so...@xml.apache.org>
Cc: <so...@xml.apache.org>
Sent: Saturday, May 12, 2001 9:20 PM
Subject: Re: newbie: help i'm stuck!


> Nik,
> The samples-dir location doesn't matter except that the code
> needs to be on the classpath. Personally I put it in a jar and
> drop it in the jre/lib/ext of my JAVA_HOME, but that's a question
> of convenience. You may be seeing a parser version problem; you
> have to have Xerces 1.2 or Xerces 1.3.0, _not_ Xerces 1.3.1,
> and you have to have it on the front of the classpath, as the
> SOAP install docs explain (they do it by editting tomcat.bat or
> tomcat.sh, I do it by putting 1.3.0 in lib/ext and making sure
> that no other parser is in lib/ext, which obviously wouldn't
> work for everybody but it simplifies things for me.)
>
>
> Specific: the command you were reporting was:
> >     java org.apache.soap.server.ServiceManagerClient
http://localhost/soap/servlet/rpcrouter deploy DeploymentDescriptor.xml
> and that's odd for Tomcat; don't you want localhost:8080/soap...,
> the Tomcat default? Perhaps you're not connecting at all?
>
> Anyway, you're seeing a complaint about what _isn't_ in the
> response, but it's hard to diagnose when you can't see what _is_
> in the response. So use the TcpTunnelGui class: you open a command
> window anywhere and say
>
>    java org.apache.soap.util.net.TcpTunnelGui 8989 localhost 8080
>
> and you'll see a Gui open up with two windows, one linking to
> localhost:8989 and the other to localhost:8080
>
> now you open your normal client window, but instead of referring to
> tomcat as localhost:8080 you refer to it as localhost:8989, e.g.
>
>      java org.apache.soap.server.ServiceManagerClient
http://localhost:8989/soap/servlet/rpcrouter deploy DeploymentDescriptor.xml
>
> and later as
>
> java samples.addressbook.GetAddress
http://localhost:8989/soap/servlet/rpcrouter "John B. Good"
>
> The TcpTunnel object will route everything back and forth between
> 8989 and 8080, and in the left window you'll see what your client is
> sending and in the right window you'll see the responses, whether
> they have faultcodes or not. Hope this helps...
>
> Tom Myers
>
>
>
> At 06:37 PM 5/12/2001 +1000, nik wrote:
> >I'm running Apache/Tomcat on Windows 2000. I have the soap webapp running
in Tomcat
> >and the samples dir is under soap/web-inf. Is that right?
> >
> >C:\soap-2_1\samples\addressbook>java
org.apache.soap.server.ServiceManagerClient
> >
<http://localhost/soap/servlet/rpcrouter>http://localhost/soap/servlet/rpcro
uter deploy DeploymentDescriptor.xml
> >
> >Exception in thread "main" [SOAPException: faultCode=SOAP-ENV:Client;
> >msg=A 'http://schemas.xmlsoap.org/soap/envelope/:Fault' element must
contain a:
> >'faultcode' element.; targetException=java.lang.IllegalArgumentException:
A
> >'http://schemas.xmlsoap.org/soap/envelope/:Fault' element must contain a:
'faultcode'
> >element.]
> >
> >How is that fixed?
> >- Nik
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: soap-user-unsubscribe@xml.apache.org
> For additional commands, email: soap-user-help@xml.apache.org
>


---------------------------------------------------------------------
To unsubscribe, e-mail: soap-user-unsubscribe@xml.apache.org
For additional commands, email: soap-user-help@xml.apache.org


Re: newbie: help i'm stuck!

Posted by Tom Myers <to...@dreamscape.com>.
Nik, 
The samples-dir location doesn't matter except that the code
needs to be on the classpath. Personally I put it in a jar and
drop it in the jre/lib/ext of my JAVA_HOME, but that's a question
of convenience. You may be seeing a parser version problem; you 
have to have Xerces 1.2 or Xerces 1.3.0, _not_ Xerces 1.3.1, 
and you have to have it on the front of the classpath, as the
SOAP install docs explain (they do it by editting tomcat.bat or
tomcat.sh, I do it by putting 1.3.0 in lib/ext and making sure
that no other parser is in lib/ext, which obviously wouldn't
work for everybody but it simplifies things for me.)


Specific: the command you were reporting was:
>     java org.apache.soap.server.ServiceManagerClient  http://localhost/soap/servlet/rpcrouter deploy DeploymentDescriptor.xml
and that's odd for Tomcat; don't you want localhost:8080/soap...,
the Tomcat default? Perhaps you're not connecting at all?

Anyway, you're seeing a complaint about what _isn't_ in the
response, but it's hard to diagnose when you can't see what _is_
in the response. So use the TcpTunnelGui class: you open a command 
window anywhere and say 
   
   java org.apache.soap.util.net.TcpTunnelGui 8989 localhost 8080

and you'll see a Gui open up with two windows, one linking to
localhost:8989 and the other to localhost:8080

now you open your normal client window, but instead of referring to
tomcat as localhost:8080 you refer to it as localhost:8989, e.g.

     java org.apache.soap.server.ServiceManagerClient  http://localhost:8989/soap/servlet/rpcrouter deploy DeploymentDescriptor.xml

and later as 

java samples.addressbook.GetAddress http://localhost:8989/soap/servlet/rpcrouter "John B. Good"

The TcpTunnel object will route everything back and forth between
8989 and 8080, and in the left window you'll see what your client is
sending and in the right window you'll see the responses, whether
they have faultcodes or not. Hope this helps...

Tom Myers



At 06:37 PM 5/12/2001 +1000, nik wrote:
>I'm running Apache/Tomcat on Windows 2000. I have the soap webapp running in Tomcat
>and the samples dir is under soap/web-inf. Is that right?
>
>C:\soap-2_1\samples\addressbook>java org.apache.soap.server.ServiceManagerClient
>  <http://localhost/soap/servlet/rpcrouter>http://localhost/soap/servlet/rpcrouter deploy DeploymentDescriptor.xml
>
>Exception in thread "main" [SOAPException: faultCode=SOAP-ENV:Client; 
>msg=A 'http://schemas.xmlsoap.org/soap/envelope/:Fault' element must contain a: 
>'faultcode' element.; targetException=java.lang.IllegalArgumentException: A 
>'http://schemas.xmlsoap.org/soap/envelope/:Fault' element must contain a: 'faultcode' 
>element.]
>
>How is that fixed?
>- Nik


---------------------------------------------------------------------
To unsubscribe, e-mail: soap-user-unsubscribe@xml.apache.org
For additional commands, email: soap-user-help@xml.apache.org


Re: newbie: help i'm stuck!

Posted by Tom Myers <to...@dreamscape.com>.
Nik, 
The samples-dir location doesn't matter except that the code
needs to be on the classpath. Personally I put it in a jar and
drop it in the jre/lib/ext of my JAVA_HOME, but that's a question
of convenience. You may be seeing a parser version problem; you 
have to have Xerces 1.2 or Xerces 1.3.0, _not_ Xerces 1.3.1, 
and you have to have it on the front of the classpath, as the
SOAP install docs explain (they do it by editting tomcat.bat or
tomcat.sh, I do it by putting 1.3.0 in lib/ext and making sure
that no other parser is in lib/ext, which obviously wouldn't
work for everybody but it simplifies things for me.)


Specific: the command you were reporting was:
>     java org.apache.soap.server.ServiceManagerClient  http://localhost/soap/servlet/rpcrouter deploy DeploymentDescriptor.xml
and that's odd for Tomcat; don't you want localhost:8080/soap...,
the Tomcat default? Perhaps you're not connecting at all?

Anyway, you're seeing a complaint about what _isn't_ in the
response, but it's hard to diagnose when you can't see what _is_
in the response. So use the TcpTunnelGui class: you open a command 
window anywhere and say 
   
   java org.apache.soap.util.net.TcpTunnelGui 8989 localhost 8080

and you'll see a Gui open up with two windows, one linking to
localhost:8989 and the other to localhost:8080

now you open your normal client window, but instead of referring to
tomcat as localhost:8080 you refer to it as localhost:8989, e.g.

     java org.apache.soap.server.ServiceManagerClient  http://localhost:8989/soap/servlet/rpcrouter deploy DeploymentDescriptor.xml

and later as 

java samples.addressbook.GetAddress http://localhost:8989/soap/servlet/rpcrouter "John B. Good"

The TcpTunnel object will route everything back and forth between
8989 and 8080, and in the left window you'll see what your client is
sending and in the right window you'll see the responses, whether
they have faultcodes or not. Hope this helps...

Tom Myers



At 06:37 PM 5/12/2001 +1000, nik wrote:
>I'm running Apache/Tomcat on Windows 2000. I have the soap webapp running in Tomcat
>and the samples dir is under soap/web-inf. Is that right?
>
>C:\soap-2_1\samples\addressbook>java org.apache.soap.server.ServiceManagerClient
>  <http://localhost/soap/servlet/rpcrouter>http://localhost/soap/servlet/rpcrouter deploy DeploymentDescriptor.xml
>
>Exception in thread "main" [SOAPException: faultCode=SOAP-ENV:Client; 
>msg=A 'http://schemas.xmlsoap.org/soap/envelope/:Fault' element must contain a: 
>'faultcode' element.; targetException=java.lang.IllegalArgumentException: A 
>'http://schemas.xmlsoap.org/soap/envelope/:Fault' element must contain a: 'faultcode' 
>element.]
>
>How is that fixed?
>- Nik


---------------------------------------------------------------------
To unsubscribe, e-mail: soap-user-unsubscribe@xml.apache.org
For additional commands, email: soap-user-help@xml.apache.org