Hi Robert, Xerces doesn't do WSDL processing. The exception you're getting is from WebSphere not Xerces. You might want to try asking your question here: http://www-128.ibm.com/developerworks/forums/dw_forum.jsp?forum=199&cat=7.
Thanks. Michael Glavassevich XML Parser Development IBM Toronto Lab E-mail: [EMAIL PROTECTED] E-mail: [EMAIL PROTECTED] "Robert Bram" <[EMAIL PROTECTED]> wrote on 01/19/2006 06:34:19 PM: > > Hi All, > > I am having a problem with how some WSDL is being parsed. I think > what is happening is that I am receiving a FAULT message which we > have somehow not 'told' xerces to expect (through the WSDL itself). > > Question 1. > ============ > > If the operation on a WSDL portType defines a fault message which is > not mirrored in the binding element. Does this matter? Could this > mean that if xerces found a fault message it wouldn't expect it - > and thus find itself in error? > > I have in my project the following WSDL portType: > > <portType name="CMLeJobSoapGetEmpBrand"> > <operation name="EJobGetEmpBrand"> > <input message="tns:EJobEmpBrdReq" name="EJobEmpBrdReq"/> > <output message="tns:EJobGetEmpBrdRes" name="EJobGetEmpBrdRes"/> > <fault message="tns:Fault" name="Fault"/> > </operation> > </portType> > > and a binding to match it: > > <binding name="MS_ALPHA_EJOB_PRJHTTP_SOAP_Binding_GetEmpBrand" > type="tns:CMLeJobSoapGetEmpBrand"> > <soap:binding style="document" > transport="http://schemas.xmlsoap.org/soap/http"/> > <operation name="EJobGetEmpBrand"> > <soap:operation style="document" soapAction=""/> > <input name="EJobEmpBrdReq"> > <soap:body encodingStyle="" > parts="EJobEmpBrdReqBody" use="literal"/> > </input> > <output name="EJobGetEmpBrdRes"> > <soap:body encodingStyle="" > parts="EJobGetEmpBrdResBody" use="literal"/> > </output> > </operation> > </binding> > > > Question 2. > ============ > > The underlying problem is that my Java parser is throwing an > exception (full trace at end of this message): > java.lang.Exception: WSWS3379E: Error: Prefix http://schemas. > xmlsoap.org/soap/envelope/ is undefined. > > This was in response to a FAULT message (below) and the error looks > as though xerces didn't understand how to parse a fault - as though > it wasn't expecting it or something. > > <?xml version="1.0" encoding="UTF-8" ?> > <soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"> > <soapenv:Body> > <soapenv:Fault> > <faultcode>http://schemas.xmlsoap.org/soap/envelope/:EAI</faultcode> > <faultstring>Failure in EAI message processing</faultstring> > <faultactor>http://udeaib01:7080/CMLeJob/EJobFindDept</faultactor> > <detail>The request for service 01:7080/CMLeJob/EJobFindDept > failed.2230 Caught exception and rethrowing,ImbComputeNode:: > evaluate,2488 Error detected, rethrowing,SqlStatementGroup::execute, > 2949 User Generated SQL 'USER' exception, > SqlThrowExceptionStatement::execute,</detail> > </soapenv:Fault> > </soapenv:Body> > </soapenv:Envelope> > > > Full trace for the exception I received: > > 2005-12-28 10:30:59,798 FATAL com.ibm.ws.webservices.engine. > InternalException - WSWS3227E: Error: Exception: > java.lang.Exception: WSWS3379E: Error: Prefix http://schemas. > xmlsoap.org/soap/envelope/ is undefined. > at com.ibm.ws.webservices.engine.InternalException. > <init>(InternalException.java:124) > at com.ibm.ws.webservices.engine.encoding.ser.QNameDeserializer. > makeValue(QNameDeserializer.java:119) > at com.ibm.ws.webservices.engine.encoding.ser.SimpleDeserializer. > onEndElement(SimpleDeserializer.java:209) > at com.ibm.ws.webservices.engine.encoding.Deserializer. > endElement(Deserializer.java:590) > at com.ibm.ws.webservices.engine.events.DEventProcessor. > onSimpleChild(DEventProcessor.java:243) > at com.ibm.ws.webservices.engine.events.P2DConverter. > flush(P2DConverter.java:728) > at com.ibm.ws.webservices.engine.events.P2DConverter. > endElement(P2DConverter.java:395) > at org.apache.xerces.parsers.AbstractSAXParser.endElement(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 javax.xml.parsers.SAXParser.parse(Unknown Source) > at com.ibm.ws.webservices.engine.encoding. > DeserializationContextImpl.parse(DeserializationContextImpl.java:251) > at com.ibm.ws.webservices.engine.SOAPPart. > getSOAPEnvelope(SOAPPart.java:882) > at com.ibm.ws.webservices.engine.SOAPPart.getFault(SOAPPart.java:1262) > at com.ibm.ws.webservices.engine.Message.getFault(Message.java:757) > at com.ibm.ws.webservices.engine.Message.ifFaultThrowSelf(Message.java:737) > at com.ibm.ws.webservices.engine.PivotHandlerWrapper. > invoke(PivotHandlerWrapper.java:252) > at com.ibm.ws.webservices.engine.WebServicesEngine. > invoke(WebServicesEngine.java:255) > at com.ibm.ws.webservices.engine.client.Connection. > invokeEngine(Connection.java:688) > at com.ibm.ws.webservices.engine.client.Connection. > invoke(Connection.java:614) > at com.ibm.ws.webservices.engine.client.Connection. > invoke(Connection.java:444) > at com.ibm.ws.webservices.engine.client.Stub$Invoke.invoke(Stub.java:662) > at com.cml.hr.portal.eai.webservices.sap. > MS_ALPHA_EJOB_PRJHTTP_SOAP_Binding_FindPositionsStub. > EJobFindPositions(MS_ALPHA_EJOB_PRJHTTP_SOAP_Binding_FindPositionsStub. > java:112) > at com.cml.hr.portal.eai.webservices.sap.FindPositionsTestCase. > testFindPositions(FindPositionsTestCase.java:115) > at java.lang.reflect.Method.invoke(Native Method) > 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 org.eclipse.jdt.internal.junit.runner.RemoteTestRunner. > runTests(RemoteTestRunner.java:329) > at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner. > run(RemoteTestRunner.java:218) > at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner. > main(RemoteTestRunner.java:151) > 2005-12-28 10:30:59,844 ERROR com.ibm.ws.webservices.engine. > PivotHandlerWrapper - WSWS3400I: Info: unexpected exception. > java.lang.NullPointerException > at java.io.FilterInputStream.read(FilterInputStream.java:128) > at com.ibm.ws.webservices.engine.SOAPPart.getBytes(SOAPPart.java:671) > at com.ibm.ws.webservices.engine.SOAPPart.getString(SOAPPart.java:788) > at com.ibm.ws.webservices.engine.SOAPPart.getAsString(SOAPPart.java:582) > at com.ibm.ws.webservices.engine.SOAPPart. > getSOAPEnvelope(SOAPPart.java:888) > at com.ibm.ws.webservices.engine.SOAPPart.getFault(SOAPPart.java:1262) > at com.ibm.ws.webservices.engine.Message.getFault(Message.java:757) > at com.ibm.ws.webservices.engine.Message.ifFaultThrowSelf(Message.java:737) > at com.ibm.ws.webservices.engine.PivotHandlerWrapper. > invoke(PivotHandlerWrapper.java:252) > at com.ibm.ws.webservices.engine.WebServicesEngine. > invoke(WebServicesEngine.java:255) > at com.ibm.ws.webservices.engine.client.Connection. > invokeEngine(Connection.java:688) > at com.ibm.ws.webservices.engine.client.Connection. > invoke(Connection.java:614) > at com.ibm.ws.webservices.engine.client.Connection. > invoke(Connection.java:444) > at com.ibm.ws.webservices.engine.client.Stub$Invoke.invoke(Stub.java:662) > at com.cml.hr.portal.eai.webservices.sap. > MS_ALPHA_EJOB_PRJHTTP_SOAP_Binding_FindPositionsStub. > EJobFindPositions(MS_ALPHA_EJOB_PRJHTTP_SOAP_Binding_FindPositionsStub. > java:112) > at com.cml.hr.portal.eai.webservices.sap.FindPositionsTestCase. > testFindPositions(FindPositionsTestCase.java:115) > at java.lang.reflect.Method.invoke(Native Method) > 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 org.eclipse.jdt.internal.junit.runner.RemoteTestRunner. > runTests(RemoteTestRunner.java:329) > at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner. > run(RemoteTestRunner.java:218) > at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner. > main(RemoteTestRunner.java:151) > 2005-12-28 10:30:59,876 INFO com.ibm.ws.webservices.engine. > enterprise - WSWS3243I: Info: Mapping Exception to WebServicesFault. > WebServicesFault > faultCode: Server.generalException > faultString: WSWS3400I: Info: unexpected exception. > faultActor: null > faultDetail: > > > WSWS3400I: Info: unexpected exception. > java.lang.NullPointerException > at java.io.FilterInputStream.read(FilterInputStream.java:128) > at com.ibm.ws.webservices.engine.SOAPPart.getBytes(SOAPPart.java:671) > at com.ibm.ws.webservices.engine.SOAPPart.getString(SOAPPart.java:788) > at com.ibm.ws.webservices.engine.SOAPPart.getAsString(SOAPPart.java:582) > at com.ibm.ws.webservices.engine.SOAPPart. > getSOAPEnvelope(SOAPPart.java:888) > at com.ibm.ws.webservices.engine.SOAPPart.getFault(SOAPPart.java:1262) > at com.ibm.ws.webservices.engine.Message.getFault(Message.java:757) > at com.ibm.ws.webservices.engine.Message.ifFaultThrowSelf(Message.java:737) > at com.ibm.ws.webservices.engine.PivotHandlerWrapper. > invoke(PivotHandlerWrapper.java:252) > at com.ibm.ws.webservices.engine.WebServicesEngine. > invoke(WebServicesEngine.java:255) > at com.ibm.ws.webservices.engine.client.Connection. > invokeEngine(Connection.java:688) > at com.ibm.ws.webservices.engine.client.Connection. > invoke(Connection.java:614) > at com.ibm.ws.webservices.engine.client.Connection. > invoke(Connection.java:444) > at com.ibm.ws.webservices.engine.client.Stub$Invoke.invoke(Stub.java:662) > at com.cml.hr.portal.eai.webservices.sap. > MS_ALPHA_EJOB_PRJHTTP_SOAP_Binding_FindPositionsStub. > EJobFindPositions(MS_ALPHA_EJOB_PRJHTTP_SOAP_Binding_FindPositionsStub. > java:112) > at com.cml.hr.portal.eai.webservices.sap.FindPositionsTestCase. > testFindPositions(FindPositionsTestCase.java:115) > at java.lang.reflect.Method.invoke(Native Method) > 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 org.eclipse.jdt.internal.junit.runner.RemoteTestRunner. > runTests(RemoteTestRunner.java:329) > at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner. > run(RemoteTestRunner.java:218) > at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner. > main(RemoteTestRunner.java:151) > 2005-12-28 10:30:59,907 ERROR com.cml.hr.portal.eai.webservices.sap. > FindPositionsTestCase - testFindPositions() caught exception > [WSWS3400I: Info: unexpected exception.; nested exception is: > > java.lang.NullPointerException] while accessing web service. > WebServicesFault > faultCode: Server.generalException > faultString: WSWS3400I: Info: unexpected exception. > faultActor: null > faultDetail: > > > WSWS3400I: Info: unexpected exception. > java.lang.NullPointerException > at java.io.FilterInputStream.read(FilterInputStream.java:128) > at com.ibm.ws.webservices.engine.SOAPPart.getBytes(SOAPPart.java:671) > at com.ibm.ws.webservices.engine.SOAPPart.getString(SOAPPart.java:788) > at com.ibm.ws.webservices.engine.SOAPPart.getAsString(SOAPPart.java:582) > at com.ibm.ws.webservices.engine.SOAPPart. > getSOAPEnvelope(SOAPPart.java:888) > at com.ibm.ws.webservices.engine.SOAPPart.getFault(SOAPPart.java:1262) > at com.ibm.ws.webservices.engine.Message.getFault(Message.java:757) > at com.ibm.ws.webservices.engine.Message.ifFaultThrowSelf(Message.java:737) > at com.ibm.ws.webservices.engine.PivotHandlerWrapper. > invoke(PivotHandlerWrapper.java:252) > at com.ibm.ws.webservices.engine.WebServicesEngine. > invoke(WebServicesEngine.java:255) > at com.ibm.ws.webservices.engine.client.Connection. > invokeEngine(Connection.java:688) > at com.ibm.ws.webservices.engine.client.Connection. > invoke(Connection.java:614) > at com.ibm.ws.webservices.engine.client.Connection. > invoke(Connection.java:444) > at com.ibm.ws.webservices.engine.client.Stub$Invoke.invoke(Stub.java:662) > at com.cml.hr.portal.eai.webservices.sap. > MS_ALPHA_EJOB_PRJHTTP_SOAP_Binding_FindPositionsStub. > EJobFindPositions(MS_ALPHA_EJOB_PRJHTTP_SOAP_Binding_FindPositionsStub. > java:112) > at com.cml.hr.portal.eai.webservices.sap.FindPositionsTestCase. > testFindPositions(FindPositionsTestCase.java:115) > at java.lang.reflect.Method.invoke(Native Method) > 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 org.eclipse.jdt.internal.junit.runner.RemoteTestRunner. > runTests(RemoteTestRunner.java:329) > at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner. > run(RemoteTestRunner.java:218) > at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner. > main(RemoteTestRunner.java:151) > > Thanks for any advice! > > > Kind regards, > > Rob > :) > > ------- > Robert Mark Bram > Portal Analyst Programmer > eBusiness, Methodologies and Portals (eBM&P), Coles Myer Limited > [EMAIL PROTECTED] > +61 3 9635 1036 > > > This email and any attachments may contain privileged and > confidential information and are intended for the named addressee > only. If you have received this e-mail in error, please notify the > sender and delete this e-mail immediately. Any confidentiality, > privilege or copyright is not waived or lost because this e-mail has > been sent to you in error. It is your responsibility to check this > e-mail and any attachments for viruses. No warranty is made that > this material is free from computer virus or any other defect or > error. Any loss/damage incurred by using this material is not the > sender's responsibility. The sender's entire liability will be > limited to resupplying the material. > > --------------------------------------------------------------------- > To unsubscribe, e-mail: [EMAIL PROTECTED] > For additional commands, e-mail: [EMAIL PROTECTED] > --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
