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 "Carver, Christopher" <Ch...@compaq.com> on 2002/02/25 16:12:45 UTC
Error building response envelope
--Problem:
When trying to recieve a SOAP message from my server I get the following error:
Exception in thread "main" [SOAPException: faultCode=SOAP-ENV:Protocol; msg=Unsupported response content type "text/html", must be: "text/xml". Response was:
<h1>Error: 500</h1>
<h2>Location: /soap/servlet/messagerouter</h2><b>Internal Servlet Error:</b><br>
<pre>javax.servlet.ServletException: Error building response envelope: java.lang.NullPointerException
This is my first attempt in using SOAP and I am able to run the samples cleanly that came with Apache SOAP. I'm trying to execute the example from the OReilly Book "Programming Wes Services with SOAP."
--Here is my execution string from the command line:
java Example1_client http://localhost:8080/soap/servlet/messagerouter Chris
--Here is the client code:
import java.io.*;
import java.net.*;
import java.util.*;
import org.apache.soap.util.xml.*;
import org.apache.soap.*;
import org.apache.soap.rpc.*;
public class Example1_client {
public static void main (String[] args) throws Exception {
System.out.println("\n\nCalling the SOAP server to say hello.\n\n");
URL url = new URL(args[0]);
String name = args[1];
Call call = new Call();
call.setTargetObjectURI("urn:Example1");
call.setMethodName("sayHello");
call.setEncodingStyleURI(Constants.NS_URI_SOAP_ENC);
Vector params = new Vector();
params.addElement(new Parameter("name", String.class, name, null));
call.setParams(params);
System.out.println("The SOAP Server says: ");
Response resp = call.invoke(url, "");
if (resp.generatedFault()) {
Fault fault = resp.getFault();
System.out.println("Fault Code = " + fault.getFaultCode());
System.out.println("Fault String = " + fault.getFaultString());
} else {
Parameter result = resp.getReturnValue();
System.out.println(result.getValue());
System.out.println();
}
}
}
--Here is the server code:
package samples;
public class Hello {
public String sayHello(String name) {
return "Hello " + name;
}
}
Re: Error building response envelope
Posted by Steen Linden <St...@ebone.net>.
Hi,
Be sure to check the errata and Examples archive for "Programming Web
Services with SOAP" at http://www.oreilly.com/catalog/progwebsoap/ .
There appears to be a number of small errors in the examples, especially
in the URI and the location of class files.
I got rid of the NullPointer exception by upgrading to j2sdk1.4.0 on
Windows NT. On Unix (Slackware Linux) I'm using jdk1.3.1_02 with the VM
engine set to "classic" in order to get it to work.
In addition to this I had to do a lot of CLASSPATH shuffling in
tomcat.bat/tomcat.sh in order to get every class included in the right
order. On Windows NT, the CLASSPATH ended up looking like this:
Using CLASSPATH:
C:\J2sdk1.4.0\lib\tools.jar;C:\SOAP\xerces-1_4_4\xerces.jar;C:\
SOAP\soap-2_2\lib\soap.jar;C:\SOAP\soap-2_2\lib\mail.jar;C:\SOAP\soap-2_2\lib\ac
tivation.jar;C:\SOAP\soap-2_2;c:\soap\jakarta-tomcat-3.2.4\classes;c:\soap\jakar
ta-tomcat-3.2.4\lib\ant.jar;c:\soap\jakarta-tomcat-3.2.4\lib\crimson.jar;c:\soap
\jakarta-tomcat-3.2.4\lib\jasper.jar;c:\soap\jakarta-tomcat-3.2.4\lib\jaxp.jar;c
:\soap\jakarta-tomcat-3.2.4\lib\servlet.jar;c:\soap\jakarta-tomcat-3.2.4\lib\web
server.jar;c:\j2sdk1.4.0\lib\tools.jar
(Don't know why I had to include tools.jar explicitly in the
beginning, but it didn't work without it).
The client uses a CLASSPATH looking like this:
CLASSPATH=c:\soap\xerces-1_4_4;c:\soap\soap-2_2\lib\soap.jar;c:\soap\soap-2_2\li
b\mail.jar;c:\soap\soap-2_2\lib\activation.jar;c:\soap
Then it works:
C:\SOAP>java Hello_client http://localhost:8080/soap/servlet/rpcrouter
Chris
Calling the SOAP Server to say hello
The SOAP Server says: Hello from Windows NT Chris
Best wishes
Steen Linden
On Mon, 25 Feb 2002, Carver, Christopher wrote:
> --Problem:
> When trying to recieve a SOAP message from my server I get the following error:
>
> Exception in thread "main" [SOAPException: faultCode=SOAP-ENV:Protocol; msg=Unsupported response content type "text/html", must be: "text/xml". Response was:
> <h1>Error: 500</h1>
> <h2>Location: /soap/servlet/messagerouter</h2><b>Internal Servlet Error:</b><br>
> <pre>javax.servlet.ServletException: Error building response envelope: java.lang.NullPointerException
>
> This is my first attempt in using SOAP and I am able to run the
> samples cleanly that came with Apache SOAP. I'm trying to execute the
> example from the OReilly Book "Programming Wes Services with SOAP."
>
> --Here is my execution string from the command line:
> java Example1_client http://localhost:8080/soap/servlet/messagerouter Chris
>
> --Here is the client code:
>
> import java.io.*;
> import java.net.*;
> import java.util.*;
> import org.apache.soap.util.xml.*;
> import org.apache.soap.*;
> import org.apache.soap.rpc.*;
>
> public class Example1_client {
> public static void main (String[] args) throws Exception {
> System.out.println("\n\nCalling the SOAP server to say hello.\n\n");
> URL url = new URL(args[0]);
> String name = args[1];
>
> Call call = new Call();
> call.setTargetObjectURI("urn:Example1");
> call.setMethodName("sayHello");
> call.setEncodingStyleURI(Constants.NS_URI_SOAP_ENC);
> Vector params = new Vector();
> params.addElement(new Parameter("name", String.class, name, null));
> call.setParams(params);
>
> System.out.println("The SOAP Server says: ");
>
> Response resp = call.invoke(url, "");
>
> if (resp.generatedFault()) {
> Fault fault = resp.getFault();
> System.out.println("Fault Code = " + fault.getFaultCode());
> System.out.println("Fault String = " + fault.getFaultString());
> } else {
> Parameter result = resp.getReturnValue();
> System.out.println(result.getValue());
> System.out.println();
> }
> }
> }
>
> --Here is the server code:
>
> package samples;
>
> public class Hello {
> public String sayHello(String name) {
> return "Hello " + name;
> }
> }
>
Re: Error building response envelope
Posted by Steen Linden <St...@ebone.net>.
Hi,
Be sure to check the errata and Examples archive for "Programming Web
Services with SOAP" at http://www.oreilly.com/catalog/progwebsoap/ .
There appears to be a number of small errors in the examples, especially
in the URI and the location of class files.
I got rid of the NullPointer exception by upgrading to j2sdk1.4.0 on
Windows NT. On Unix (Slackware Linux) I'm using jdk1.3.1_02 with the VM
engine set to "classic" in order to get it to work.
In addition to this I had to do a lot of CLASSPATH shuffling in
tomcat.bat/tomcat.sh in order to get every class included in the right
order. On Windows NT, the CLASSPATH ended up looking like this:
Using CLASSPATH:
C:\J2sdk1.4.0\lib\tools.jar;C:\SOAP\xerces-1_4_4\xerces.jar;C:\
SOAP\soap-2_2\lib\soap.jar;C:\SOAP\soap-2_2\lib\mail.jar;C:\SOAP\soap-2_2\lib\ac
tivation.jar;C:\SOAP\soap-2_2;c:\soap\jakarta-tomcat-3.2.4\classes;c:\soap\jakar
ta-tomcat-3.2.4\lib\ant.jar;c:\soap\jakarta-tomcat-3.2.4\lib\crimson.jar;c:\soap
\jakarta-tomcat-3.2.4\lib\jasper.jar;c:\soap\jakarta-tomcat-3.2.4\lib\jaxp.jar;c
:\soap\jakarta-tomcat-3.2.4\lib\servlet.jar;c:\soap\jakarta-tomcat-3.2.4\lib\web
server.jar;c:\j2sdk1.4.0\lib\tools.jar
(Don't know why I had to include tools.jar explicitly in the
beginning, but it didn't work without it).
The client uses a CLASSPATH looking like this:
CLASSPATH=c:\soap\xerces-1_4_4;c:\soap\soap-2_2\lib\soap.jar;c:\soap\soap-2_2\li
b\mail.jar;c:\soap\soap-2_2\lib\activation.jar;c:\soap
Then it works:
C:\SOAP>java Hello_client http://localhost:8080/soap/servlet/rpcrouter
Chris
Calling the SOAP Server to say hello
The SOAP Server says: Hello from Windows NT Chris
Best wishes
Steen Linden
On Mon, 25 Feb 2002, Carver, Christopher wrote:
> --Problem:
> When trying to recieve a SOAP message from my server I get the following error:
>
> Exception in thread "main" [SOAPException: faultCode=SOAP-ENV:Protocol; msg=Unsupported response content type "text/html", must be: "text/xml". Response was:
> <h1>Error: 500</h1>
> <h2>Location: /soap/servlet/messagerouter</h2><b>Internal Servlet Error:</b><br>
> <pre>javax.servlet.ServletException: Error building response envelope: java.lang.NullPointerException
>
> This is my first attempt in using SOAP and I am able to run the
> samples cleanly that came with Apache SOAP. I'm trying to execute the
> example from the OReilly Book "Programming Wes Services with SOAP."
>
> --Here is my execution string from the command line:
> java Example1_client http://localhost:8080/soap/servlet/messagerouter Chris
>
> --Here is the client code:
>
> import java.io.*;
> import java.net.*;
> import java.util.*;
> import org.apache.soap.util.xml.*;
> import org.apache.soap.*;
> import org.apache.soap.rpc.*;
>
> public class Example1_client {
> public static void main (String[] args) throws Exception {
> System.out.println("\n\nCalling the SOAP server to say hello.\n\n");
> URL url = new URL(args[0]);
> String name = args[1];
>
> Call call = new Call();
> call.setTargetObjectURI("urn:Example1");
> call.setMethodName("sayHello");
> call.setEncodingStyleURI(Constants.NS_URI_SOAP_ENC);
> Vector params = new Vector();
> params.addElement(new Parameter("name", String.class, name, null));
> call.setParams(params);
>
> System.out.println("The SOAP Server says: ");
>
> Response resp = call.invoke(url, "");
>
> if (resp.generatedFault()) {
> Fault fault = resp.getFault();
> System.out.println("Fault Code = " + fault.getFaultCode());
> System.out.println("Fault String = " + fault.getFaultString());
> } else {
> Parameter result = resp.getReturnValue();
> System.out.println(result.getValue());
> System.out.println();
> }
> }
> }
>
> --Here is the server code:
>
> package samples;
>
> public class Hello {
> public String sayHello(String name) {
> return "Hello " + name;
> }
> }
>