PQ98920: WEBSERVICES CALL W/DOC LITERAL SOAP BINDING HAS A BLANK XMLNS ATTRIBUTE THROWS "NO SUCH OPERATION" | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
![]() |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
![]() APAR status Closed as program error. Error description In a WSDL with Document Literal binding with a single Element as an input part, the SOAP request which is sent to a service appears with a blank namespace: <soapenv:Body><MUAMessageElement xmlns=""> This causes the Web Service to return an error with the following message: faultCode: Server.generalException faultString: WSWS3277E: Error: No such operation 'MUAMessageElement' If the client is a BPEL business process, the following error is seen on the client: [23/12/04 10:01:39:641 PST] 74fd0646 BpelEngine A com.ibm.bpe.engine.BpelEngine BPEE0071E: A two-way request for port type 'ProcessPortType' and operation 'InputOperation' was accepted by activity 'Receive'. The process ended before a corresponding reply activity was executed.com.ibm.bpe.api.RuntimeFaultException: BPEE0003E: An error occurred during the invocation of the activity implementation 'Invoke'. com.ibm.bpe.invocation.InvocationException: BPEP0207E: Web Services Invocation Framework (WSIF) invocation failed with exception WSWS3277E: Error: No such operation 'MUAMessageElement' detected by 'com.ibm.bpe.invocation.WSIFServiceInvocationHandler'. [23/12/04 10:01:39:844 PST] 74fd0646 ExceptionUtil E CNTR0020E: Non-application exception occurred while processing method "InputOperation" on bean "BeanId(TKTServiceClientEAR#TKTServiceClientEJB.jar#ClientBean, null)". Exception data: com.ibm.bpe.api.EngineMissingReplyException: BPEE0071E: A two-way request for port type 'ProcessPortType' and operation 'InputOperation' was accepted by activity 'Receive'. The process ended before a corresponding reply activity was executed. com.ibm.bpe.api.RuntimeFaultException: BPEE0003E: An error occurred during the invocation of the activity implementation 'Invoke'. com.ibm.bpe.invocation.InvocationException: BPEP0207E: Web Services Invocation Framework (WSIF) invocation failed with exception WSWS3277E: Error: No such operation 'MUAMessageElement' detected by 'com.ibm.bpe.invocation.WSIFServiceInvocationHandler'.Local fix Problem summary **************************************************************** * USERS AFFECTED: Users of Business Processes described in * * BPEL, which invoke Web Services over SOAP * * using the Document Literal encoding. * **************************************************************** * PROBLEM DESCRIPTION: In a WSDL with Document Literal * * binding with a single Element as * * an input part, the SOAP request * * which is sent to a service * * appears with a blank namespace: * * * * <soapenv:Body> * * <MessageElement xmlns=""> * * * * This causes the Web Service to * * return an error with the * * following message: * * * * faultCode: Server.generalException * * faultString: WSWS3277E: Error: No * * such operation * * 'MessageElement' * * * * If the client is a BPEL business * * process, an error is * * seen on the client. * **************************************************************** * RECOMMENDATION: * **************************************************************** In WSDL which describes a SOAP service using the Document Literal encoding (Doc Lit), the input part is generally a defined element in the XML Schema Definition section of the WSDL. This XSD Element will have a target namespace, specified by the targetNamespace of the <schema> tag. The resulting SOAP XML message should contain the element in that target namespace. In this error scenario, the XML element has a blank namespace, for example: <soapenv:Body><MessageElement xmlns=""> When the WSDL may describe a targetNamespace of "http://my.service" so the request should be: <soapenv:Body><MessageElement xmlns="http://my.service"> The error which comes back from a Web Service running in WebSphere is: faultCode: Server.generalException faultString: WSWS3277E: Error: No such operation 'MessageElement' If the client is a BPEL business process, the following error is seen on the client: [23/12/04 10:01:39:641 PST] 74fd0646 BpelEngine A com.ibm.bpe.engine.BpelEngine BPEE0071E: A two-way request for port type 'ProcessPortType' and operation 'InputOperation' was accepted by activity 'Receive'. The process ended before a corresponding reply activity was executed.com.ibm.bpe.api.RuntimeFaultException: BPEE0003E: An error occurred during the invocation of the activity implementation 'Invoke'. com.ibm.bpe.invocation.InvocationException: BPEP0207E: Web Services Invocation Framework (WSIF) invocation failed with exception WSWS3277E: Error: No such operation 'MessageElement' detected by 'com.ibm.bpe.invocation.WSIFServiceInvocationHandler'. [23/12/04 10:01:39:844 PST] 74fd0646 ExceptionUtil E CNTR0020E: Non-application exception occurred while processing method "InputOperation" on bean "BeanId(TKTServiceClientEAR#TKTServiceClientEJB.jar#ClientBean, null)". Exception data: com.ibm.bpe.api.EngineMissingReplyException: BPEE0071E: A two-way request for port type 'ProcessPortType' and operation 'InputOperation' was accepted by activity 'Receive'. The process ended before a corresponding reply activity was executed. com.ibm.bpe.api.RuntimeFaultException: BPEE0003E: An error occurred during the invocation of the activity implementation 'Invoke'. com.ibm.bpe.invocation.InvocationException: BPEP0207E: Web Services Invocation Framework (WSIF) invocation failed with exception WSWS3277E: Error: No such operation 'MessageElement' detected by 'com.ibm.bpe.invocation.WSIFServiceInvocationHandler'. By adding the correct namespace into the SOAP request, the Web Service will work correctly. This can be tested by generating a simple client from the Web Service WSDL using wsdl2java or the WebSphere Studio Application Developer tooling equivalent "New Web Service client".Problem conclusion WSIF was changed to correctly put the namespace into the SOAP request. The fix is targetted for WebSphere Application Server version 5.1.1 cumulative fix 4. Please refer to the recommended updates page for delivery information: http://www.ibm.com/support/docview.wss?rs=180&uid=swg27004980Temporary fix Comments
APAR is sysrouted FROM one or more of the following: APAR is sysrouted TO one or more of the following: Modules/Macros
Publications Referenced
|
Product categories: Software > Application Servers >
Distributed Application & Web Servers > WebSphere Application
Server > General
Operating system(s):
Software version: 10W
Software edition:
Reference #: PQ98920
IBM Group: Software Group
Modified date: Mar 8, 2005
(C) Copyright IBM Corporation 2000, 2008. All Rights Reserved.