I am getting a (500) Internal Server Error when I try accessing my Web
Service with a client. 
 
My question is: is there a simple way to debug this problem and find out
what the 500 code means? I am in a tight schedule (!) and would rather not
wade through all of axis looking for the cause... So if you've been here
before, please share it :-)
 
The client is using the generated skeleton code from WSDL2Java and
Java2WSDL. The client is pretty simple:
public class MathClient

{

public static void main(String [] args) 

{

try {

 

MathServiceServiceLocator msl = new MathServiceServiceLocator(); 

MathService ms = msl.getMathService();

if (ms != null){

double d = ms.add(1,1);

System.out.println("Double returned:" + String.valueOf(d));

}

} catch (Exception e) {

System.err.println(e.toString());

}

}

}

The service is also simple:

public class MathService

{

public double add(double d1, double d2)

{

return d1+d2;

}

}

The generated WSDL is:

<?xml version="1.0" encoding="UTF-8"?>

<wsdl:definitions
targetNamespace="http://localhost:8080/axis/services/MathService";
xmlns:impl="http://localhost:8080/axis/services/MathService";
xmlns:intf="http://localhost:8080/axis/services/MathService";
xmlns:apachesoap="http://xml.apache.org/xml-soap";
xmlns:wsdlsoap="http://schemas.xmlsoap.org/wsdl/soap/";
xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/";
xmlns:xsd="http://www.w3.org/2001/XMLSchema";
xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/";
xmlns="http://schemas.xmlsoap.org/wsdl/";>

<wsdl:message name="addResponse">

<wsdl:part name="addReturn" type="xsd:double"/>

</wsdl:message>

<wsdl:message name="addRequest">

<wsdl:part name="in0" type="xsd:double"/>

<wsdl:part name="in1" type="xsd:double"/>

</wsdl:message>

<wsdl:portType name="MathService">

<wsdl:operation name="add" parameterOrder="in0 in1">

<wsdl:input name="addRequest" message="impl:addRequest"/>

<wsdl:output name="addResponse" message="impl:addResponse"/>

</wsdl:operation>

</wsdl:portType>

<wsdl:binding name="MathServiceSoapBinding" type="impl:MathService">

<wsdlsoap:binding style="rpc"
transport="http://schemas.xmlsoap.org/soap/http"/>

<wsdl:operation name="add">

<wsdlsoap:operation soapAction=""/>

<wsdl:input name="addRequest">

<wsdlsoap:body use="encoded"
encodingStyle="http://schemas.xmlsoap.org/soap/encoding/";
namespace="http://localhost:8080/axis/services/MathService"/>

</wsdl:input>

<wsdl:output name="addResponse">

<wsdlsoap:body use="encoded"
encodingStyle="http://schemas.xmlsoap.org/soap/encoding/";
namespace="http://localhost:8080/axis/services/MathService"/>

</wsdl:output>

</wsdl:operation>

</wsdl:binding>

<wsdl:service name="MathServiceService">

<wsdl:port name="MathService" binding="impl:MathServiceSoapBinding">

<wsdlsoap:address
location="http://localhost:8080/axis/services/MathService"/>

</wsdl:port>

</wsdl:service>

</wsdl:definitions>

and the deploy file is:

!-- Use this file to deploy some handlers/chains and services -->

<!-- Two ways to do this: -->

<!-- java org.apache.axis.client.AdminClient deploy.wsdd -->

<!-- after the axis server is running -->

<!-- or -->

<!-- java org.apache.axis.utils.Admin client|server deploy.wsdd -->

<!-- from the same directory that the Axis engine runs -->

<deployment

xmlns="http://xml.apache.org/axis/wsdd/";

xmlns:java="http://xml.apache.org/axis/wsdd/providers/java";>

<!-- Services from MathServiceService WSDL service -->

<service name="MathService" provider="java:RPC" style="rpc" use="encoded">

<parameter name="wsdlTargetNamespace"
value="http://localhost:8080/axis/services/MathService"/>

<parameter name="wsdlServiceElement" value="MathServiceService"/>

<parameter name="wsdlServicePort" value="MathService"/>

<parameter name="className"
value="com.ai.services.MathServiceSoapBindingSkeleton"/>

<parameter name="wsdlPortType" value="MathService"/>

<parameter name="allowedMethods" value="*"/>

<parameter name="scope" value="Session"/>

</service>

</deployment>

 

Any help would be GREATLY appreciated...

Thanks,

Alex

 

Reply via email to