You are viewing a plain text version of this content. The canonical link for it is here.
Posted to java-dev@axis.apache.org by "Chris Lott (JIRA)" <ax...@ws.apache.org> on 2005/09/28 21:38:47 UTC

[jira] Updated: (AXIS-2240) Sample transport/tcp in 1.2.1 does not work; 2 separate problems

     [ http://issues.apache.org/jira/browse/AXIS-2240?page=all ]

Chris Lott updated AXIS-2240:
-----------------------------

    Attachment: deploy.wsdd

Attached a version of deploy.wsdd that works.

> Sample transport/tcp in 1.2.1 does not work; 2 separate problems
> ----------------------------------------------------------------
>
>          Key: AXIS-2240
>          URL: http://issues.apache.org/jira/browse/AXIS-2240
>      Project: Apache Axis
>         Type: Bug
>   Components: Samples
>     Versions: 1.2.1
>  Environment: Not specific to any platform.  Tested on java 1.4.2_06, win xp.
>     Reporter: Chris Lott
>     Priority: Minor
>  Attachments: deploy.wsdd
>
> The sample code in version 1.2.1 folder samples/transport/tcp is supposed to demonstrate how SOAP can flow over the network without using the HTTP protocol.  This sample currently exhibits two significant problems: (1) the sample client invocation yields an AxisFault - no service is found; and (2) the "list" command yields an XML parse error at the server and a null-pointer exception at the client.  I rated this minor because it's in the samples (not core code), but this sample is completely dead, so it's a blocker for the sample.
> Here are all the gory details:
> 1.  The deploy.wsdd file omits the service entirely, so no useful service is deployed in the deploy step.  No surprise then, when attempting to run the sample, the result is the AxisFault "NoService" shown immediately below.  Adding an appropriate "service" entry to the deploy.wsdd file solves the problem.  I'll attach a file that works.
> AxisFault
>  faultCode: {http://xml.apache.org/axis/}Server.NoService
>  faultSubcode:
>  faultString: The AXIS engine could not find a target service to invoke!  target
> Service is null
>  faultActor:
>  faultNode:
>  faultDetail:
>         {http://xml.apache.org/axis/}stackTrace:The AXIS engine could not find a
>  target service to invoke!  targetService is null
>         at org.apache.axis.server.AxisServer.invoke(AxisServer.java:270)
>         at samples.transport.tcp.TCPListener$SocketHandler.run(TCPListener.java:213)
>         at java.lang.Thread.run(Thread.java:534)
> 2. The readme describes how to ask the server via TCP for a list of its services.  But the "list" command causes the server side to take a SAXParseError.  It looks like an XML namespace attribute is created of this form:
>    xmlns:http=""
> And the XML parser rejects this as invalid.  Immediately below is the exception from the server.   The client reports a null pointer exception, which appears below also.
> - exception00
> org.xml.sax.SAXException: Fatal Error: URI=null Line=3: The value of the attribu
> te "prefix="xmlns",localpart="http",rawname="xmlns:http"" is invalid. Prefixed n
> amespace bindings may not be empty.
>         at org.apache.axis.utils.XMLUtils$ParserErrorHandler.fatalError(XMLUtils.java:723)
>         at org.apache.xerces.util.ErrorHandlerWrapper.fatalError(Unknown Source)
>         at org.apache.xerces.impl.XMLErrorReporter.reportError(Unknown Source)
>         at org.apache.xerces.impl.XMLErrorReporter.reportError(Unknown Source)
>         at org.apache.xerces.impl.XMLNSDocumentScannerImpl.scanAttribute(Unknown Source)
>         at org.apache.xerces.impl.XMLNSDocumentScannerImpl.scanStartElement(Unknown Source)
>         at org.apache.xerces.impl.XMLDocumentFragmentScannerImpl$FragmentContent
> Dispatcher.dispatch(Unknown Source)
>         at org.apache.xerces.impl.XMLDocumentFragmentScannerImpl.scanDocument(Unknown Source)
>         at org.apache.xerces.parsers.XML11Configuration.parse(Unknown Source)
>         at org.apache.xerces.parsers.XML11Configuration.parse(Unknown Source)
>         at org.apache.xerces.parsers.XMLParser.parse(Unknown Source)
>         at org.apache.xerces.parsers.DOMParser.parse(Unknown Source)
>         at org.apache.xerces.jaxp.DocumentBuilderImpl.parse(Unknown Source)
>         at org.apache.axis.utils.XMLUtils.newDocument(XMLUtils.java:369)
>         at org.apache.axis.utils.Admin.listConfig(Admin.java:239)
>         at org.apache.axis.utils.Admin.processWSDD(Admin.java:102)
>         at org.apache.axis.utils.Admin.process(Admin.java:157)
>         at org.apache.axis.utils.Admin.AdminService(Admin.java:64)
>         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:324)
>         at org.apache.axis.providers.java.MsgProvider.processMessage(MsgProvider.java:126)
>         at org.apache.axis.providers.java.JavaProvider.invoke(JavaProvider.java:323)
>         at org.apache.axis.strategies.InvocationStrategy.visit(InvocationStrategy.java:32)
>         at org.apache.axis.SimpleChain.doVisiting(SimpleChain.java:118)
>         at org.apache.axis.SimpleChain.invoke(SimpleChain.java:83)
>         at org.apache.axis.handlers.soap.SOAPService.invoke(SOAPService.java:453)
>         at org.apache.axis.server.AxisServer.invoke(AxisServer.java:281)
>         at samples.transport.tcp.TCPListener$SocketHandler.run(TCPListener.java:213)
>         at java.lang.Thread.run(Thread.java:534)
> Here's the client-side NPE
> java.lang.NullPointerException
> AxisFault
>  faultCode: {http://schemas.xmlsoap.org/soap/envelope/}Server.userException
>  faultSubcode:
>  faultString: java.lang.NullPointerException
>  faultActor:
>  faultNode:
>  faultDetail:
>         {http://xml.apache.org/axis/}stackTrace:java.lang.NullPointerException
>         at org.apache.axis.utils.Admin.AdminService(Admin.java:66)
>         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:324)
>         at org.apache.axis.providers.java.MsgProvider.processMessage(MsgProvider.java:126)
>         at org.apache.axis.providers.java.JavaProvider.invoke(JavaProvider.java:323)
>         at org.apache.axis.strategies.InvocationStrategy.visit(InvocationStrategy.java:32)
>         at org.apache.axis.SimpleChain.doVisiting(SimpleChain.java:118)
>         at org.apache.axis.SimpleChain.invoke(SimpleChain.java:83)
>         at org.apache.axis.handlers.soap.SOAPService.invoke(SOAPService.java:453)
>         at org.apache.axis.server.AxisServer.invoke(AxisServer.java:281)
>         at samples.transport.tcp.TCPListener$SocketHandler.run(TCPListener.java:213)
>         at java.lang.Thread.run(Thread.java:534)
>         {http://xml.apache.org/axis/}hostname:dijon
> java.lang.NullPointerException
>         at org.apache.axis.message.SOAPFaultBuilder.createFault(SOAPFaultBuilder.java:221)
>         at org.apache.axis.message.SOAPFaultBuilder.endElement(SOAPFaultBuilder.java:128)
>         at org.apache.axis.encoding.DeserializationContext.endElement(DeserializationContext.java:1087)
>         at org.apache.xerces.parsers.AbstractSAXParser.endElement(Unknown Source)
>         at org.apache.xerces.impl.XMLNSDocumentScannerImpl.scanEndElement(Unknown Source)
>         at org.apache.xerces.impl.XMLDocumentFragmentScannerImpl$FragmentContent
> Dispatcher.dispatch(Unknown Source)
>         at org.apache.xerces.impl.XMLDocumentFragmentScannerImpl.scanDocument(Unknown Source)
>         at org.apache.xerces.parsers.XML11Configuration.parse(Unknown Source)
>         at org.apache.xerces.parsers.XML11Configuration.parse(Unknown Source)
>         at org.apache.xerces.parsers.XMLParser.parse(Unknown Source)
>         at org.apache.xerces.parsers.AbstractSAXParser.parse(Unknown Source)
>         at org.apache.xerces.jaxp.SAXParserImpl$JAXPSAXParser.parse(Unknown Source)
>         at javax.xml.parsers.SAXParser.parse(Unknown Source)
>         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:424)
>         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:2765)
>         at org.apache.axis.client.Call.invoke(Call.java:2748)
>         at org.apache.axis.client.Call.invoke(Call.java:1784)
>         at org.apache.axis.client.AdminClient.process(AdminClient.java:439)
>         at org.apache.axis.client.AdminClient.process(AdminClient.java:389)
>         at org.apache.axis.client.AdminClient.list(AdminClient.java:185)
>         at org.apache.axis.client.AdminClient.list(AdminClient.java:173)
>         at org.apache.axis.client.AdminClient.process(AdminClient.java:301)
>         at samples.transport.tcp.AdminClient.main(AdminClient.java:53)

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
   http://issues.apache.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see:
   http://www.atlassian.com/software/jira