Hi all,
I have got a web service which runs okay on windows with axis beta1. I have
been trying to run the same application on Linux with axis beta2, and I get
the following exception :
Failed to call MDS web service :
Error while compiling:
/opt/xml-axis-beta2/webapps/axis/WEB-INFjwsClasses/MDSService.java
Error while compiling:
/opt/xml-axis-beta2/webapps/axis/WEB-INFjwsClasses/MDSService.java
at
org.apache.axis.message.SOAPFaultBuilder.endElement(SOAPFaultBuilder.java:13
4)
at
org.apache.axis.encoding.DeserializationContextImpl.endElement(Deserializati
onContextImpl.java:875)
at
org.apache.xerces.parsers.AbstractSAXParser.endElement(AbstractSAXParser.jav
a:559)
at
org.apache.xerces.impl.XMLNamespaceBinder.handleEndElement(XMLNamespaceBinde
r.java:853)
at
org.apache.xerces.impl.XMLNamespaceBinder.endElement(XMLNamespaceBinder.java
:643)
at
org.apache.xerces.impl.dtd.XMLDTDValidator.handleEndElement(XMLDTDValidator.
java:2978)
at
org.apache.xerces.impl.dtd.XMLDTDValidator.endElement(XMLDTDValidator.java:9
18)
at
org.apache.xerces.impl.XMLDocumentFragmentScannerImpl.handleEndElement(XMLDo
cumentFragmentScannerImpl.java:1145)
at
org.apache.xerces.impl.XMLDocumentFragmentScannerImpl.scanEndElement(XMLDocu
mentFragmentScannerImpl.java:988)
at
org.apache.xerces.impl.XMLDocumentFragmentScannerImpl$FragmentContentDispatc
her.dispatch(XMLDocumentFragmentScannerImpl.java:1446)
at
org.apache.xerces.impl.XMLDocumentFragmentScannerImpl.scanDocument(XMLDocume
ntFragmentScannerImpl.java:333)
at
org.apache.xerces.parsers.StandardParserConfiguration.parse(StandardParserCo
nfiguration.java:529)
at
org.apache.xerces.parsers.StandardParserConfiguration.parse(StandardParserCo
nfiguration.java:585)
at org.apache.xerces.parsers.XMLParser.parse(XMLParser.java:147)
at
org.apache.xerces.parsers.AbstractSAXParser.parse(AbstractSAXParser.java:114
8)
at javax.xml.parsers.SAXParser.parse(SAXParser.java:345)
at
org.apache.axis.encoding.DeserializationContextImpl.parse(DeserializationCon
textImpl.java:202)
at org.apache.axis.SOAPPart.getAsSOAPEnvelope(SOAPPart.java:428)
at org.apache.axis.client.Call.invoke(Call.java:1919)
at org.apache.axis.client.Call.invoke(Call.java:1690)
at org.apache.axis.client.Call.invoke(Call.java:1608)
at org.apache.axis.client.Call.invoke(Call.java:1169)
at MDSQuery.mdsConnect(MDSQuery.java:503)
at MDSQuery.submitButtonActionPerformed(MDSQuery.java:282)
at MDSQuery.access$500(MDSQuery.java:24)
... MORE
Please help. Attached is the extract of client side source code.
<<client.txt>>
Dharmesh
private void mdsConnect() {
// Connect to MDS web service
String endpoint = "http://localhost:8080/axis/MDSService.jws";
// esc5.dl.ac.uk
//String endpoint = "http://193.62.112.196:8080/axis/MDSService.jws";
//String endpoint = "http://193.62.112.87:9000/axis/MDSService.jws";
Service service = new Service();
try {
Call call = (Call)service.createCall();
call.setTargetEndpointAddress( new java.net.URL(endpoint) );
call.setOperationName( new QName("mdsSearch") );
call.addParameter( "host", XMLType.XSD_STRING, ParameterMode.PARAM_MODE_IN
);
call.addParameter( "objectclass", XMLType.XSD_STRING,
ParameterMode.PARAM_MODE_IN );
call.addParameter( "voname", XMLType.XSD_STRING,
ParameterMode.PARAM_MODE_IN );
call.addParameter( "attributes", XMLType.SOAP_ARRAY,
ParameterMode.PARAM_MODE_IN );
call.addParameter( "attributeindex", XMLType.XSD_INT,
ParameterMode.PARAM_MODE_IN );
call.setReturnType( XMLType.XSD_STRING );
Integer attribCount = new Integer(selectedAttributes);
// Debug
if (debug)
{
System.out.println("DBG->mdsHost = "+mdsHost );
System.out.println("DBG->mdsObject = "+mdsObject );
System.out.println("DBG->mdsVoName = "+mdsVoName );
System.out.println("DBG->attribCount = "+selectedAttributes );
System.out.println("DBG->mdsTypes.length = "+mdsTypes.length );
for (int i = 0; i < mdsTypes.length; i++) {
System.out.println("DBG->mdsTypes["+i+"]"+" = "+mdsTypes[i]);
}
}
// Note: String[] should NOT be specified as last parameter
String result = (String)call.invoke( new Object [] { mdsHost, mdsObject,
mdsVoName, mdsTypes,
attribCount });
mdsTextArea.append(result);
}
catch(Throwable e) {
System.out.println("Failed to call MDS web service :"+"\n"
+e.getMessage());
e.printStackTrace();
}
}