You are viewing a plain text version of this content. The canonical link for it is here.
Posted to java-user@axis.apache.org by Olexandr Prokhorenko <pr...@gmail.com> on 2006/05/16 06:11:14 UTC

Problem with Axis

Hello everybody,

I've got a problem with client, testing my Axis-running Web service (Java).

The log says:

2006-05-15 20:53:25,429 WARN [org.apache.axis.utils.JavaUtils] - <Unable to
find required classes ( javax.activation.DataHandler and
javax.mail.internet.MimeMultipart). Attachment support is disabled.>
2006-05-15 20:53:25,624 DEBUG [com.xxx.autojob.tests.WebServiceTest] - <
service.createCall() done>
2006-05-15 20:53:25,626 DEBUG [ com.xxx.autojob.tests.WebServiceTest] - <
call.setTargetEndpointAddress(...) done>
2006-05-15 20:53:25,628 DEBUG [com.xxx.autojob.tests.WebServiceTest] - <
call.setOperationName(...) done>
2006-05-15 20:53:25,645 DEBUG [ com.xxx.autojob.tests.WebServiceTest] - <
call.addParameter(...) done>
2006-05-15 20:53:25,646 DEBUG [com.xxx.autojob.tests.WebServiceTest] - <
call.setReturnType(...) done>
2006-05-15 20:53:25,802 ERROR [ com.xxx.autojob.tests.WebServiceTest] - <
java.lang.ClassCastException: $Proxy7>
AxisFault
 faultCode: {http://schemas.xmlsoap.org/soap/envelope/}Server.userException
<http://schemas.xmlsoap.org/soap/envelope/%7DServer.userException>
 faultSubcode:
 faultString: java.lang.ClassCastException: $Proxy7
 faultActor:
 faultNode:
 faultDetail:
    {http://xml.apache.org/axis/}hostname:applejuice.xxx.com
<http://xml.apache.org/axis/%7Dhostname:applejuice.xxx.com>

java.lang.ClassCastException: $Proxy7
    at org.apache.axis.message.SOAPFaultBuilder.createFault(
SOAPFaultBuilder.java:222)
    at org.apache.axis.message.SOAPFaultBuilder.endElement(
SOAPFaultBuilder.java :129)
    at org.apache.axis.encoding.DeserializationContext.endElement(
DeserializationContext.java:1087)
    at
com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser.endElement(
AbstractSAXParser.java:633)
    at
com.sun.org.apache.xerces.internal.impl.XMLNSDocumentScannerImpl.scanEndElement
(XMLNSDocumentScannerImpl.java:719)
    at
com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl$FragmentContentDispatcher.dispatch(
XMLDocumentFragmentScannerImpl.java:1685)
    at
com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl.scanDocument
(XMLDocumentFragmentScannerImpl.java:368)
    at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse (
XML11Configuration.java:834)
    at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(
XML11Configuration.java:764)
    at com.sun.org.apache.xerces.internal.parsers.XMLParser.parse(
XMLParser.java:148)
    at com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser.parse(
AbstractSAXParser.java:1242)
    at javax.xml.parsers.SAXParser.parse(SAXParser.java:375)
    at org.apache.axis.encoding.DeserializationContext.parse (
DeserializationContext.java:227)
    at org.apache.axis.SOAPPart.getAsSOAPEnvelope(SOAPPart.java:696)
    at org.apache.axis.Message.getSOAPEnvelope(Message.java:435)
    at org.apache.axis.handlers.soap.MustUnderstandChecker.invoke (
MustUnderstandChecker.java:62)
    at org.apache.axis.client.AxisClient.invoke(AxisClient.java:206)
    at org.apache.axis.client.Call.invokeEngine(Call.java:2784)
    at org.apache.axis.client.Call.invoke(Call.java :2767)
    at org.apache.axis.client.Call.invoke(Call.java:2443)
    at org.apache.axis.client.Call.invoke(Call.java:2366)
    at org.apache.axis.client.Call.invoke(Call.java:1812)
    at com.xxx.autojob.tests.WebServiceTest.testWebService (
WebServiceTest.java:75)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(
NativeMethodAccessorImpl.java:39)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke (
DelegatingMethodAccessorImpl.java:25)
    at java.lang.reflect.Method.invoke(Method.java:585)
    at junit.framework.TestCase.runTest(TestCase.java:154)
    at junit.framework.TestCase.runBare(TestCase.java:127)
    at junit.framework.TestResult$1.protect(TestResult.java:106)
    at junit.framework.TestResult.runProtected(TestResult.java:124)
    at junit.framework.TestResult.run(TestResult.java:109)
    at junit.framework.TestCase.run (TestCase.java:118)
    at junit.framework.TestSuite.runTest(TestSuite.java:208)
    at junit.framework.TestSuite.run(TestSuite.java:203)
    at junit.extensions.TestDecorator.basicRun(TestDecorator.java:22)
    at junit.extensions.TestSetup$1.protect(TestSetup.java:19)
    at junit.framework.TestResult.runProtected(TestResult.java:124)
    at junit.extensions.TestSetup.run(TestSetup.java:23)
    at junit.textui.TestRunner.doRun (TestRunner.java:116)
    at com.intellij.rt.execution.junit2.IdeaJUnitAgent.doRun(
IdeaJUnitAgent.java:58)
    at junit.textui.TestRunner.start(TestRunner.java:172)
    at com.intellij.rt.execution.junit.TextTestRunner2.startRunnerWithArgs (
TextTestRunner2.java:23)
    at com.intellij.rt.execution.junit2.JUnitStarter.prepareStreamsAndStart(
JUnitStarter.java:98)
    at com.intellij.rt.execution.junit2.JUnitStarter.main(JUnitStarter.java
:32)

junit.framework.ComparisonFailure :
Expected :TheNameOfJob
Actual  :
    at com.xxx.autojob.tests.WebServiceTest.testWebService(
WebServiceTest.java:86)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke (
NativeMethodAccessorImpl.java:39)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(
DelegatingMethodAccessorImpl.java:25)
    at junit.extensions.TestDecorator.basicRun(TestDecorator.java:22)
    at junit.extensions.TestSetup$1.protect (TestSetup.java:19)
    at junit.extensions.TestSetup.run(TestSetup.java:23)
    at com.intellij.rt.execution.junit2.JUnitStarter.main(JUnitStarter.java
:32)


Process finished with exit code 255

Can please somebody advise what's that and what should I read to fix it?

The testing code looks very simple:

        String endpoint = "http://localhost:8081/autojob/soap/webservice";

        String method = "submitJob";
        String in0 = "TheNameOfJob";

        String expected = in0;
        String result = "";

        try {
            Service service = new Service();
            Call call = (Call)service.createCall();

            log.debug("service.createCall() done");

            call.setTargetEndpointAddress(new java.net.URL(endpoint));

            log.debug("call.setTargetEndpointAddress(...) done");

            call.setOperationName(new QName("urn:soap.autojob.xxx.com",
method));

            log.debug("call.setOperationName(...) done");

            call.addParameter("in0", XMLType.XSD_STRING, ParameterMode.IN);

            log.debug("call.addParameter(...) done");

            call.setReturnType(org.apache.axis.encoding.XMLType.XSD_STRING);

            log.debug("call.setReturnType(...) done");

            result = (String)call.invoke( new Object[] { in0 } );

            log.debug("call.invoke(...) done");

        } catch (Exception e) {

            log.error(e.getMessage());
            e.printStackTrace();

        }

        assertEquals(expected, result);
    }

I can access http://localhost:8081/autojob/soap/webservice from the browser
and it shows:

webservice

Hi there, this is an AXIS service!
*Perhaps there will be a form for invoking the service here...*

Also, I can perfectly well see
http://localhost:8081/autojob/soap/webservice?wsdl and it shows:

<?xml version="1.0" encoding="UTF-8"?>
<wsdl:definitions targetNamespace="urn:soap.autojob.xxx.com"
xmlns:apachesoap="http://xml.apache.org/xml-soap" xmlns:impl="urn:
soap.autojob.xxx.com" xmlns:intf="urn:soap.autojob.xxx.com"
xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/"
xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"
xmlns:wsdlsoap="http://schemas.xmlsoap.org/wsdl/soap/"
xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<!--WSDL created by Apache Axis version: 1.3
Built on Oct 05, 2005 (05:23:37 EDT)-->

   <wsdl:message name="submitJobResponse">

      <wsdl:part name="submitJobReturn" type="xsd:string"/>

   </wsdl:message>

   <wsdl:message name="submitJobRequest">

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

   </wsdl:message>

   <wsdl:portType name="WebServiceImpl">

      <wsdl:operation name="submitJob" parameterOrder="in0">

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

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

      </wsdl:operation>

   </wsdl:portType>

   <wsdl:binding name="webserviceSoapBinding" type="impl:WebServiceImpl">

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

      <wsdl:operation name="submitJob">

         <wsdlsoap:operation soapAction=""/>

         <wsdl:input name="submitJobRequest">

            <wsdlsoap:body encodingStyle="
http://schemas.xmlsoap.org/soap/encoding/ " namespace="
http://soap.autojob.xxx.com" use="encoded"/>

         </wsdl:input>

         <wsdl:output name="submitJobResponse">

            <wsdlsoap:body encodingStyle="
http://schemas.xmlsoap.org/soap/encoding/" namespace="urn:soap.autojob.xxx.com
" use="encoded"/>

         </wsdl:output>

      </wsdl:operation>

   </wsdl:binding>

   <wsdl:service name="WebServiceImplService">

      <wsdl:port binding="impl:webserviceSoapBinding" name="webservice">

         <wsdlsoap:address
location="http://localhost:8081/autojob/soap/webservice
"/>

      </wsdl:port>

   </wsdl:service>

</wsdl:definitions>


I would be very thankful for any suggestions.

-- 
Alexander Prohorenko.


-- 
Alexander Prohorenko.