org.apache.axis.AxisFault.makeFault(AxisFault.java:101)


J

John Smith

All,

Any input to resolve the following error is appreciated. Thanks.

I am trying to use a web service that has the following WSDL snippet:
<element name="getServiceIdsResponse">
<complexType>
<sequence>
<element maxOccurs="unbounded" name="getServiceIdsReturn"
type="xsd:long"/>
</sequence>
</complexType>
</element>

The Java code was generated with WSDL2Java. The web service stub
includes:

public interface ServiceAdmin extends java.rmi.Remote {
....
public long[] getServiceIds() throws java.rmi.RemoteException;
....
}

When trying to call this stub method I got:
Exception has occured during health check on grid engines.
Exception: ; nested exception is:
org.xml.sax.SAXParseException: The element type
"getServiceIdsReturn" must be terminated by the matching end-tag "</
getServiceIdsReturn>".
Cause: org.xml.sax.SAXParseException: The element type
"getServiceIdsReturn" must be terminated by the matching end-tag "</
getServiceIdsReturn>".
Stacktrace:
org.apache.axis.AxisFault.makeFault(AxisFault.java:101)
org.apache.axis.SOAPPart.getAsSOAPEnvelope(SOAPPart.java:701)
org.apache.axis.Message.getSOAPEnvelope(Message.java:424)
org.apache.axis.transport.http.HTTPSender.readFromSocket
(HTTPSender.java:796)
org.apache.axis.transport.http.HTTPSender.invoke(HTTPSender.java:144)
org.apache.axis.strategies.InvocationStrategy.visit
(InvocationStrategy.java:32)
org.apache.axis.SimpleChain.doVisiting(SimpleChain.java:118)
org.apache.axis.SimpleChain.invoke(SimpleChain.java:83)
org.apache.axis.client.AxisClient.invoke(AxisClient.java:165)
org.apache.axis.client.Call.invokeEngine(Call.java:2765)
org.apache.axis.client.Call.invoke(Call.java:2748)
org.apache.axis.client.Call.invoke(Call.java:2424)
org.apache.axis.client.Call.invoke(Call.java:2347)
org.apache.axis.client.Call.invoke(Call.java:1804)
org.tds.eqd.gridMonitor.ds.webservices.serviceadmin.ServiceAdminSoapBindingStub.getServiceIds
(Unknown Source)
org.tds.eqd.gridMonitor.startup.TDStartGridHealthAnalysis.runHealthCheckOnEachEngine
(Unknown Source)
org.tds.eqd.gridMonitor.startup.TDStartGridHealthAnalysis.start
(Unknown Source)
org.tds.eqd.gridMonitor.startup.TDStartGridHealthAnalysis.main(Unknown
Source)


AxisFault object:

AxisFault
faultCode: {http://schemas.xmlsoap.org/soap/envelope/}
Server.userException
faultSubcode:
faultString: org.xml.sax.SAXParseException: The element type
&quot;getServiceIdsReturn&quot; must be terminated by the matching end-
tag &quot;&lt;/getServiceIdsReturn&gt;&quot;.
faultActor:
faultNode:
faultDetail:
{http://xml.apache.org/axis/}
stackTrace:eek:rg.xml.sax.SAXParseException: The element type
&quot;getServiceIdsReturn&quot; must be terminated by the matching end-
tag &quot;&lt;/getServiceIdsReturn&gt;&quot;.
at
org.apache.xerces.util.ErrorHandlerWrapper.createSAXParseException
(Unknown Source)
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.XMLScanner.reportFatalError(Unknown
Source)
at
org.apache.xerces.impl.XMLNSDocumentScannerImpl.scanEndElement(Unknown
Source)
at org.apache.xerces.impl.XMLDocumentFragmentScannerImpl
$FragmentContentDispatcher.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 org.apache.xerces.jaxp.SAXParserImpl.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.transport.http.HTTPSender.readFromSocket
(HTTPSender.java:796)
at org.apache.axis.transport.http.HTTPSender.invoke
(HTTPSender.java:144)
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.client.AxisClient.invoke(AxisClient.java:
165)
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:2424)
at org.apache.axis.client.Call.invoke(Call.java:2347)
at org.apache.axis.client.Call.invoke(Call.java:1804)
at
org.tds.eqd.gridMonitor.ds.webservices.serviceadmin.ServiceAdminSoapBindingStub.getServiceIds
(Unknown Source)
at
org.tds.eqd.gridMonitor.startup.TDStartGridHealthAnalysis.runHealthCheckOnEachEngine
(Unknown Source)
at
org.tds.eqd.gridMonitor.startup.TDStartGridHealthAnalysis.start
(Unknown Source)
at
org.tds.eqd.gridMonitor.startup.TDStartGridHealthAnalysis.main(Unknown
Source)
 
Ad

Advertisements

J

John Smith

P.S. i am a newbie on this group. How do I obtain a copy of the
posting guidelines?

All,

Any input to resolve the following error is appreciated.  Thanks.

I am trying to use a web service that has the following WSDL snippet:
   <element name="getServiceIdsResponse">
    <complexType>
     <sequence>
      <element maxOccurs="unbounded" name="getServiceIdsReturn"
type="xsd:long"/>
     </sequence>
    </complexType>
   </element>

The Java code was generated with WSDL2Java.  The web service stub
includes:

public interface ServiceAdmin extends java.rmi.Remote {
...
    public long[] getServiceIds() throws java.rmi.RemoteException;
...

}

When trying to call this stub method I got:
Exception has occured during health check on grid engines.
Exception: ; nested exception is:
        org.xml.sax.SAXParseException: The element type
"getServiceIdsReturn" must be terminated by the matching end-tag "</
getServiceIdsReturn>".
Cause: org.xml.sax.SAXParseException: The element type
"getServiceIdsReturn" must be terminated by the matching end-tag "</
getServiceIdsReturn>".
Stacktrace:
org.apache.axis.AxisFault.makeFault(AxisFault.java:101)
org.apache.axis.SOAPPart.getAsSOAPEnvelope(SOAPPart.java:701)
org.apache.axis.Message.getSOAPEnvelope(Message.java:424)
org.apache.axis.transport.http.HTTPSender.readFromSocket
(HTTPSender.java:796)
org.apache.axis.transport.http.HTTPSender.invoke(HTTPSender.java:144)
org.apache.axis.strategies.InvocationStrategy.visit
(InvocationStrategy.java:32)
org.apache.axis.SimpleChain.doVisiting(SimpleChain.java:118)
org.apache.axis.SimpleChain.invoke(SimpleChain.java:83)
org.apache.axis.client.AxisClient.invoke(AxisClient.java:165)
org.apache.axis.client.Call.invokeEngine(Call.java:2765)
org.apache.axis.client.Call.invoke(Call.java:2748)
org.apache.axis.client.Call.invoke(Call.java:2424)
org.apache.axis.client.Call.invoke(Call.java:2347)
org.apache.axis.client.Call.invoke(Call.java:1804)
org.tds.eqd.gridMonitor.ds.webservices.serviceadmin.ServiceAdminSoapBinding­Stub.getServiceIds
(Unknown Source)
org.tds.eqd.gridMonitor.startup.TDStartGridHealthAnalysis.runHealthCheckOnE­achEngine
(Unknown Source)
org.tds.eqd.gridMonitor.startup.TDStartGridHealthAnalysis.start
(Unknown Source)
org.tds.eqd.gridMonitor.startup.TDStartGridHealthAnalysis.main(Unknown
Source)

AxisFault object:

AxisFault
 faultCode: {http://schemas.xmlsoap.org/soap/envelope/}
Server.userException
 faultSubcode:
 faultString: org.xml.sax.SAXParseException: The element type
&quot;getServiceIdsReturn&quot; must be terminated by the matching end-
tag &quot;&lt;/getServiceIdsReturn&gt;&quot;.
 faultActor:
 faultNode:
 faultDetail:
        {http://xml.apache.org/axis/}
stackTrace:eek:rg.xml.sax.SAXParseException: The element type
&quot;getServiceIdsReturn&quot; must be terminated by the matching end-
tag &quot;&lt;/getServiceIdsReturn&gt;&quot;.
        at
org.apache.xerces.util.ErrorHandlerWrapper.createSAXParseException
(Unknown Source)
        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.XMLScanner.reportFatalError(Unknown
Source)
        at
org.apache.xerces.impl.XMLNSDocumentScannerImpl.scanEndElement(Unknown
Source)
        at org.apache.xerces.impl.XMLDocumentFragmentScannerImpl
$FragmentContentDispatcher.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 org.apache.xerces.jaxp.SAXParserImpl.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.transport.http.HTTPSender.readFromSocket
(HTTPSender.java:796)
        at org.apache.axis.transport.http.HTTPSender.invoke
(HTTPSender.java:144)
        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.client.AxisClient.invoke(AxisClient.java:
165)
        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:2424)
        at org.apache.axis.client.Call.invoke(Call.java:2347)
        at org.apache.axis.client.Call.invoke(Call.java:1804)
        at
org.tds.eqd.gridMonitor.ds.webservices.serviceadmin.ServiceAdminSoapBinding­Stub.getServiceIds
(Unknown Source)
        at
org.tds.eqd.gridMonitor.startup.TDStartGridHealthAnalysis.runHealthCheckOnE­achEngine
(Unknown Source)
        at
org.tds.eqd.gridMonitor.startup.TDStartGridHealthAnalysis.start
(Unknown Source)
        at
org.tds.eqd.gridMonitor.startup.TDStartGridHealthAnalysis.main(Unknown
Source)
 
M

Mike Schilling

John said:
P.S. i am a newbie on this group. How do I obtain a copy of the
posting guidelines?

Rule 1: Don't top-post. That is, put your comments *below* what you're
quoting, not above.

Anyway, your problem seems straightforward enough. The service you're
calling sent back some ill-formed XML: Missing the end tag, exactly as
the error message indicates.
 
J

John Smith

On May 17, 1:35 pm, "Mike Schilling" <[email protected]>
wrote:
....
Anyway, your problem seems straightforward enough.  The service you're
calling sent back some ill-formed XML: Missing the end tag, exactly as
the error message indicates.

what r some common reasons y the service would send back ill-formed
XML?

John
 
L

Lew

On May 17, 1:35 pm, "Mike Schilling" <[email protected]>
wrote:
...


what r some common reasons y the service would send back ill-formed
XML?

If u cn rd ths thk a secty.

Perhaps the service is using short tags and your client demands
explicit closing tags.

Avoid leetspeek. It's unprofessional, hard to read, lazy and
unnecessary.
 
J

John Smith

Perhaps the service is using short tags and your client demands
explicit closing tags.

The WSDL has:
<element maxOccurs="unbounded" name="getServiceIdsReturn"
type="xsd:long"/>

I think that's what you meant by short tags.

My client is simply a calling the stub generated using WSDL2Java.
What needs to be done to ensure the client can also use short tags?
 
Ad

Advertisements

M

Mike Schilling

John said:
On May 17, 1:35 pm, "Mike Schilling" <[email protected]>
wrote:
...


what r some common reasons y the service would send back ill-formed
XML?

Unfortunately, I have no answer beyond "Because it's badly broken". If you
can trap the actual output (say, using TCPMON), there may be some clues.
 
J

John Smith

What do you mean by short tags?


short tag:
<element maxOccurs="unbounded" name="getServiceIdsReturn"
type="xsd:long"/>

explicit closing tag:
<element maxOccurs="unbounded" name="getServiceIdsReturn"
type="xsd:long">
</element>

I am getting
org.xml.sax.SAXParseException: The element type
"getServiceIdsReturn" must be terminated by the matching end-tag "</
getServiceIdsReturn>".

So I need assistance in either:
1) Changing the SOAP response to produce

<getServiceIdsReturn>
</getServiceIdsReturn>

instead of
<getServiceIdsReturn ... />

OR
2) being able to parse <getServiceIdsReturn ... />.
with:
http://java.sun.com/webservices/docs/1.5/api/org/xml/sax/package-summary.html
 
J

John Smith

Unfortunately, I have no answer beyond "Because it's badly broken".  If you
can trap the actual output (say, using TCPMON), there may be some clues.

For TCPMON, I can't seem to find documentation on https://tcpmon.dev.java.net/
that specifies how to find out the value of the "Local Port on the
host where tcpmon is running". Any other documentation I can look at?
 
M

Mike Schilling

John said:
short tag:
<element maxOccurs="unbounded" name="getServiceIdsReturn"
type="xsd:long"/>

explicit closing tag:
<element maxOccurs="unbounded" name="getServiceIdsReturn"
type="xsd:long">
</element>

I am getting
org.xml.sax.SAXParseException: The element type
"getServiceIdsReturn" must be terminated by the matching end-tag "</
getServiceIdsReturn>".

So I need assistance in either:
1) Changing the SOAP response to produce

<getServiceIdsReturn>
</getServiceIdsReturn>

instead of
<getServiceIdsReturn ... />

OR
2) being able to parse <getServiceIdsReturn ... />.
with:
http://java.sun.com/webservices/docs/1.5/api/org/xml/sax/package-summary.html

I promise you that that's not your problem. Any current XML parser can
parse "<tag/>".
 
Ad

Advertisements

L

Lew

You set the port(s) on which tcpmon will listen using its UI.

Are you asking how to *decide* the ports on which tcpmon will listen?

That depends on what you want to monitor. For example, if you are running a
web service on http://localhost:8080, and you want to monitor communications
to that port, you would set tcpmon to listen to port 8080.

It's entirely up to you.
 
Ad

Advertisements

A

Arne Vajhøj

Lew said:
Are you asking how to *decide* the ports on which tcpmon will listen?

That depends on what you want to monitor. For example, if you are
running a web service on http://localhost:8080, and you want to monitor
communications to that port, you would set tcpmon to listen to port 8080.

You would set TCPMon to listen to another port than 8080 and set TCPMon
to connect to port 8080.

Arne
 
L

Lew

You would set TCPMon to listen to another port than 8080 and set TCPMon
to connect to port 8080.

Absolutely correct. Good catch.

Now that I'm corrected, I'm reminded that the client would therefore have to
connect to the tcpmon port instead of 8080 in order to go through the monitor.

Let's say you set tpcmon to listen to 8070 and relay to 8080. You'd point the
web-service client to port 8070 of the service host to get monitored, and to
8080 to bypass monitoring.
 
Ad

Advertisements

A

Arne Vajhøj

Mike said:
Like <tag/>? I don't believe there are any XML parsers currently in use
that don't understand them.

I would consider it a bug if it did not. That is core XML functionality.

Arne
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Top