|
RSS Feed - WebSphere MQ Support
|
RSS Feed - Message Broker Support
|
 |
|
Interesting SOAPRequest problem, request your insight. |
« View previous topic :: View next topic » |
Author |
Message
|
lancelotlinc |
Posted: Thu Dec 01, 2011 1:48 pm Post subject: Interesting SOAPRequest problem, request your insight. |
|
|
 Jedi Knight
Joined: 22 Mar 2010 Posts: 4941 Location: Bloomington, IL USA
|
We have four systems. On both developer's PCs, the flow works. On a Windows server (DevInt), the flow fails. On AIX the flow fails.
SOAPInput -> Compute -> SOAPRequest
Code: |
2011-12-01 15:04:20.420816 7984 >> } SoapParserUtil.getInboundContext
2011-12-01 15:04:20.421167 7984 >> { JNIReturn::logJavaExceptionToBrokerTrace , 'Data: iExceptionThrown, iExceptionFatal, iNoThrow, iKnownExceptionCount.', true, false, false, 0
2011-12-01 15:04:20.421176 7984 >> { ImbSOAPJniManager::getJavaExceptionTextAndLogStack
2011-12-01 15:04:20.421184 7984 >> { ImbSOAPJniManager::javaStringToImbWstringInternal
2011-12-01 15:04:20.421192 7984 >> } ImbSOAPJniManager::javaStringToImbWstringInternal , 'java.lang.NullPointerException'
2011-12-01 15:04:20.421197 7984 >> ImbSOAPJniManager::getJavaExceptionTextAndLogStack 'toString for the exception was:' , 'java.lang.NullPointerException'
2011-12-01 15:04:20.421459 7984 >> MbErrorHandler.traceThrowable 'MbStackTraceParser ctor' , 'java.lang.NullPointerException
at com.ibm.broker.wsdl.Operation.elementMatchesRole(Operation.java:198)
at com.ibm.broker.axis2.SoapParserUtil.getInboundContext(SoapParserUtil.java:488)
at com.ibm.broker.plugin.MbOutputTerminal._propagate(Native Method)
at com.ibm.broker.plugin.MbOutputTerminal.propagate(MbOutputTerminal.java:107)
at com.xxx.middleware.flows.xxx.xxx_subflow_JavaCompute1.evaluate(FN_InsProNewBus_subflow_JavaCompute1.java:47)
at com.ibm.broker.javacompute.MbRuntimeJavaComputeNode.evaluate(MbRuntimeJavaComputeNode.java:232)
at com.ibm.broker.plugin.MbNode.evaluate(MbNode.java:1469)
at com.ibm.broker.plugin.MbOutputTerminal._propagate(Native Method)
at com.ibm.broker.plugin.MbOutputTerminal.propagate(MbOutputTerminal.java:107)
at com.xxx.middleware.flows.xxx.xxxComposite1_JavaCompute.evaluate(xxx_Composite1_JavaCompute.java:98)
at com.ibm.broker.javacompute.MbRuntimeJavaComputeNode.evaluate(MbRuntimeJavaComputeNode.java:232)
at com.ibm.broker.plugin.MbNode.evaluate(MbNode.java:1469)
'
2011-12-01 15:04:20.421474 7984 >> { com.ibm.broker.plugin.MbStackTraceParser@260e260e.MbStackTraceParser::processException
2011-12-01 15:04:20.421504 7984 >> } com.ibm.broker.plugin.MbStackTraceParser@260e260e.MbStackTraceParser::processException
2011-12-01 15:04:20.421514 7984 >> { ImbSOAPJniManager::javaStringToImbWstringInternal
2011-12-01 15:04:20.421520 7984 >> } ImbSOAPJniManager::javaStringToImbWstringInternal , 'Frame : 0 java.lang.NullPointerException: null
@: com.ibm.broker.wsdl.Operation.elementMatchesRole(Operation.java:198)
@: com.ibm.broker.axis2.SoapParserUtil.getInboundContext(SoapParserUtil.java:488)
@: com.ibm.broker.plugin.MbOutputTerminal._propagate(Native Method)
@: com.ibm.broker.plugin.MbOutputTerminal.propagate(MbOutputTerminal.java:107)
@: com.xxx.middleware.flows.xxx.xxx_subflow_JavaCompute1.evaluate(FN_xxx_subflow_JavaCompute1.java:47)
@: com.ibm.broker.javacompute.MbRuntimeJavaComputeNode.evaluate(MbRuntimeJavaComputeNode.java:232)
@: com.ibm.broker.plugin.MbNode.evaluate(MbNode.java:1469)
@: com.ibm.broker.plugin.MbOutputTerminal._propagate(Native Method)
@: com.ibm.broker.plugin.MbOutputTerminal.propagate(MbOutputTerminal.java:107)
@: com.xxx.middleware.flows.xxx.xxx_JavaCompute.evaluate(FN_AEF_Composite1_JavaCompute.java:98)
@: com.ibm.broker.javacompute.MbRuntimeJavaComputeNode.evaluate(MbRuntimeJavaComputeNode.java:232)
@: com.ibm.broker.plugin.MbNode.evaluate(MbNode.java:1469) |
java null pointer exception when the SOAP parser trying to read the Soap message.
Exception happens only on the DevInt box and AIX box. On both developer PCs, the flow is golden ! What could be the difference ? EGs and MB runtimes are configured indentically. _________________ http://leanpub.com/IIB_Tips_and_Tricks
Save $20: Coupon Code: MQSERIES_READER |
|
Back to top |
|
 |
fjb_saper |
Posted: Thu Dec 01, 2011 1:58 pm Post subject: |
|
|
 Grand High Poobah
Joined: 18 Nov 2003 Posts: 20756 Location: LI,NY
|
check the configuration of your Input node.
Do you have a convert flag set?
Which SOAP message fails the parser? The Input message or the SOAP reply to the request message?
I suppose that you are testing with the same message?
Is the CCSID of the message set correctly when it hits the faulty Win or the AIX machine?
What do the Root.Properties say?
Hope it helps some  _________________ MQ & Broker admin |
|
Back to top |
|
 |
bielesibub |
Posted: Fri Dec 02, 2011 3:52 am Post subject: |
|
|
 Apprentice
Joined: 02 Jul 2008 Posts: 40 Location: Hampshire, UK
|
do you have any monitoring enabled on the SOAPInput node? |
|
Back to top |
|
 |
lancelotlinc |
Posted: Fri Dec 02, 2011 6:50 am Post subject: |
|
|
 Jedi Knight
Joined: 22 Mar 2010 Posts: 4941 Location: Bloomington, IL USA
|
Hi -- thanks for your response.
The problem is with the SOAP reply message from downstream. It happens to be an empty message (ie. there are no elements in the SOAP Body or SOAP Header).
Here is an example of the problem SOAP reply message properties (which happens on DevInt server or AIX server):
Code: |
Root:
( ['SOAPRoot' : 0x1e7f1200]
(0x01000000:Name ):Properties = ( ['SOAPPROPERTYPARSER' : 0x1e9b7778]
(0x03000000:NameValue):MessageSet = 'EventMonitorMessageSet' (CHARACTER)
(0x03000000:NameValue):MessageType = '' (CHARACTER)
(0x03000000:NameValue):MessageFormat = '' (CHARACTER)
(0x03000000:NameValue):Encoding = 546 (INTEGER)
(0x03000000:NameValue):CodedCharSetId = 1208 (INTEGER)
(0x03000000:NameValue):Transactional = FALSE (BOOLEAN)
(0x03000000:NameValue):Persistence = FALSE (BOOLEAN)
(0x03000000:NameValue):CreationTime = GMTTIMESTAMP '2011-12-01 20:37:44.533' (GMTTIMESTAMP)
(0x03000000:NameValue):ExpirationTime = -1 (INTEGER)
(0x03000000:NameValue):Priority = 0 (INTEGER)
(0x03000000:NameValue):ReplyIdentifier = X'000000000000000000000000000000000000000000000000' (BLOB)
(0x03000000:NameValue):ReplyProtocol = 'SOAP-AXIS2' (CHARACTER)
(0x03000000:NameValue):Topic = NULL
(0x03000000:NameValue):ContentType = '' (CHARACTER)
(0x03000000:NameValue):IdentitySourceType = '' (CHARACTER)
(0x03000000:NameValue):IdentitySourceToken = '' (CHARACTER)
(0x03000000:NameValue):IdentitySourcePassword = '' (CHARACTER)
(0x03000000:NameValue):IdentitySourceIssuedBy = '' (CHARACTER)
(0x03000000:NameValue):IdentityMappedType = '' (CHARACTER)
(0x03000000:NameValue):IdentityMappedToken = '' (CHARACTER)
(0x03000000:NameValue):IdentityMappedPassword = '' (CHARACTER)
(0x03000000:NameValue):IdentityMappedIssuedBy = '' (CHARACTER)
)
(0x01000000:Name ):HTTPResponseHeader = ( ['WSRSPHDR' : 0x1e7f0f98]
(0x03000000:NameValue):X-Original-HTTP-Status-Line = 'HTTP/1.1 200 OK' (CHARACTER)
(0x03000000:NameValue):X-Original-HTTP-Status-Code = 200 (INTEGER)
(0x03000000:NameValue):content-language = 'en-US' (CHARACTER)
(0x03000000:NameValue):content-length = '162' (CHARACTER)
(0x03000000:NameValue):content-type = 'text/xml; charset=utf-8' (CHARACTER)
(0x03000000:NameValue):date = 'Thu, 01 Dec 2011 20:46:51 GMT' (CHARACTER)
(0x03000000:NameValue):p3p = 'CP="NON CUR OTPi OUR NOR UNI"' (CHARACTER)
(0x03000000:NameValue):server = 'IBM_HTTP_Server' (CHARACTER)
(0x03000000:NameValue):cache-control = 'no-cache="set-cookie, set-cookie2"' (CHARACTER)
(0x03000000:NameValue):expires = 'Thu, 01 Dec 1994 16:00:00 GMT' (CHARACTER)
(0x03000000:NameValue):Set-Cookie = 'LtpaToken2=6pWSO1KmJdzCCwKiZF1ZXVBf5AEy2KZ99KfYXYze9JLYlCp8HExQJORnFBqrPSnmylZGVAYPUsWQ5KqPOfR7Qe7c8SODAN/mReZB62/OEnrUOzmhGN0GP9MlYtkJajYP9R4XmfQFQEA7f4xPK4orY0yqThjiBZNXwcHGmlidUO6SI6b3LInaDLzh5b1ZwPZJ3+unsJUhHOI3jyUmk9uWrycIQjnmBFe4J9/IgoGbNWXCe6MoHEntjCEU5v/yqvUF6xt5cvUcNcD+QME7I129VMwGIUBe7uNGSSyvCYs2cOlaE1XkypIWqVd/zGhtWuR6r1bESvl01CUpxLf0oH31+BqIlAI1bqPoFGE9S+d0EL8MoExtlwOxbSe2BnxdUXNSRyBlQPD0PrauB4ydxzBkAWGZ16FMKXppfHlGZQfUVA52aCa0tVZ581sRYZSNNFb+Udvf35jHYLf4t8tq6LQPYKHQD7tWHe129npxUB9qzjci32185ijF6PCQ/7ZK+81hWCgU8N/olw8RmueQCHsCP21dFKP1wPFCa4hVcRxKaFlTSe5hTrrGUPvsfMpJtQ1mCs7UnTyggfMQ8ZkOiEivvNusDR5c3jx1oJyOSgms3nvra3D2PZYVR998aGTe+HbAp2L+wX3Bz5ttalD5BZ8EVbs9StskDqeiTZ+reXCnIXXYQfEzXcKmPZqJrYwyI1s28RojScPM14wDHpphs6+UFjPOX8ZAU8Oziea/9Z2mT/AcMOwzwYb099nFh+BOVFtcUg1qsgYL9MP+o1fFyhi1iTI5ZrPXc6OIEjobhuHrTXY=; Path=/wsvc/' (CHARACTER)
)
(0x01000000:Folder):SOAP =
|
Here is an example of the same message when it is received and correctly parsed on our developer PCs:
Code: |
Root:
( ['SOAPRoot' : 0x24ec7530]
(0x01000000:Name ):Properties = ( ['SOAPPROPERTYPARSER' : 0x24d40b78]
(0x03000000:NameValue):MessageSet = 'xxxMessageSet' (CHARACTER)
(0x03000000:NameValue):MessageType = '' (CHARACTER)
(0x03000000:NameValue):MessageFormat = '' (CHARACTER)
(0x03000000:NameValue):Encoding = 546 (INTEGER)
(0x03000000:NameValue):CodedCharSetId = 1208 (INTEGER)
(0x03000000:NameValue):Transactional = FALSE (BOOLEAN)
(0x03000000:NameValue):Persistence = FALSE (BOOLEAN)
(0x03000000:NameValue):CreationTime = GMTTIMESTAMP '2011-12-01 17:09:13.150' (GMTTIMESTAMP)
(0x03000000:NameValue):ExpirationTime = -1 (INTEGER)
(0x03000000:NameValue):Priority = 0 (INTEGER)
(0x03000000:NameValue):ReplyIdentifier = X'000000000000000000000000000000000000000000000000' (BLOB)
(0x03000000:NameValue):ReplyProtocol = 'SOAP-AXIS2' (CHARACTER)
(0x03000000:NameValue):Topic = NULL
(0x03000000:NameValue):ContentType = '' (CHARACTER)
(0x03000000:NameValue):IdentitySourceType = '' (CHARACTER)
(0x03000000:NameValue):IdentitySourceToken = '' (CHARACTER)
(0x03000000:NameValue):IdentitySourcePassword = '' (CHARACTER)
(0x03000000:NameValue):IdentitySourceIssuedBy = '' (CHARACTER)
(0x03000000:NameValue):IdentityMappedType = '' (CHARACTER)
(0x03000000:NameValue):IdentityMappedToken = '' (CHARACTER)
(0x03000000:NameValue):IdentityMappedPassword = '' (CHARACTER)
(0x03000000:NameValue):IdentityMappedIssuedBy = '' (CHARACTER)
)
(0x01000000:Name ):HTTPResponseHeader = ( ['WSRSPHDR' : 0x24ec72c8]
(0x03000000:NameValue):X-Original-HTTP-Status-Line = 'HTTP/1.1 200 OK' (CHARACTER)
(0x03000000:NameValue):X-Original-HTTP-Status-Code = 200 (INTEGER)
(0x03000000:NameValue):content-language = 'en-US' (CHARACTER)
(0x03000000:NameValue):content-length = '162' (CHARACTER)
(0x03000000:NameValue):content-type = 'text/xml; charset=utf-8' (CHARACTER)
(0x03000000:NameValue):date = 'Thu, 01 Dec 2011 17:33:15 GMT' (CHARACTER)
(0x03000000:NameValue):p3p = 'CP="NON CUR OTPi OUR NOR UNI"' (CHARACTER)
(0x03000000:NameValue):server = 'IBM_HTTP_Server' (CHARACTER)
(0x03000000:NameValue):cache-control = 'no-cache="set-cookie, set-cookie2"' (CHARACTER)
(0x03000000:NameValue):expires = 'Thu, 01 Dec 1994 16:00:00 GMT' (CHARACTER)
(0x03000000:NameValue):Set-Cookie = 'LtpaToken2=0MLlSHfZ+FR+V2APgGkI3hJLll9U3BU1ZH50R3s5Yz8un9dQQXbPXVaqf0PpvQ/lI0XyuRQyr+JzrYNmc98Av03uP5UdXQoqPQ+NcB/K8IcKKtRmLYz1YUVMzgOCNGe7tFGb0aJvW+f8WY0kYgiykFKoYa/pqxw4GVP8r2svwP20XPG6gIugWfpj+DgvA9NHTNCiBywoxtaBudZ3BNpUUDXETR99+UmhA4vrZIgNVYu/+OHlkvBhvWUAdE5F0dOlNVsSyc5ndD9sccgj/vh/rFJYZL4PO7SaGJExW2+q9+of2SHC6E/MyYP5ZrAw9E6spIM8N/xGh4q/e0KCs9uif0+3qol1gDRQQE4Ahtsr110Ii4Stz4lHiNtHeZ0/kSbfiEhIdJ+a8Iu578bDUyy2luFcGltO+GUS4cKBGwqweX6+zMMpQ+vAveSReukKZApV1ySuVfVEx6mg2Or6A0Mg/ssf4+j+NfZ/3SOoMntUMQaWBzSm4EpdQirHKBUWWkAP3bkl/Jr4b/To1yEif7NitatN1K7HTlv7bF+HCh4wSShk82S3d8fKgyaTttruYls31loPEBkAGmgAmP1RJjezyjaM7HTB92TjNnk7TPCy+BS/4pgfeQwxB97woRm8MBTIaYw832eqYGYinYEqZS5R15tA7dckSZDYOXpWFc5TxgQQp2BCB9qfuTciHv/Gf1EQSTfl7stappCz3NFA2Jmgg7N9MmZzlVh4tFd5igKK+Nrs8IOKEiejVfjxxRIRgNM8og0rbPM275BrBenOaB98pFK8zAJmccsWJK2mf8vkRsY=; Path=/wsvc/' (CHARACTER)
)
(0x01000000:Folder):SOAP = ( ['SOAP' : 0x24e9e5f0]
(0x01000000:Folder):Context = ( ['xmlnsc' : 0x235f8c68]
(0x03000100:Attribute ):operation = 'xxx' (CHARACTER)
(0x03000100:Attribute ):operationType = 'REQUEST_RESPONSE' (CHARACTER)
(0x03000100:Attribute ):portType = 'xxx' (CHARACTER)
(0x03000100:Attribute ):portTypeNamespace = 'http://service.xxx.xxx.com' (CHARACTER)
(0x03000100:Attribute ):port = 'xxx' (CHARACTER)
(0x03000100:Attribute ):service = 'xxx' (CHARACTER)
(0x03000100:Attribute ):fileName = 'C:\Documents and Settings\All Users\Application Data\IBM\MQSI\components\xxx\377037a7-3201-0000-0080-a4b770ca44d1\config\XSD\xxx/com/xxx/xxx/service/xxx.wsdl' (CHARACTER)
(0x03000000:PCDataField):SOAP_Version = '1.1' (CHARACTER)
(0x01000000:Folder ):Namespace = (
(0x03000102:NamespaceDecl)http://www.w3.org/2000/xmlns/:soapenv = 'http://schemas.xmlsoap.org/soap/envelope/' (CHARACTER)
)
(0x01000000:Folder ):_XmlDeclaration = (
(0x03000100:Attribute):Version = '1.0' (CHARACTER)
(0x03000100:Attribute):Encoding = 'utf-8' (CHARACTER)
)
)
(0x01000000:Folder):Header =
(0x01000000:Folder):Body =
)
)
|
I'll check on your other query and post soon. We worked around this problem by using SOAP Async Request and discarding the reply since it contains no data anyway. Don't ask me why the service provider just didnt make this a One Way SOAP call instead of Request-Response.
Lance _________________ http://leanpub.com/IIB_Tips_and_Tricks
Save $20: Coupon Code: MQSERIES_READER |
|
Back to top |
|
 |
fjb_saper |
Posted: Fri Dec 02, 2011 7:35 am Post subject: |
|
|
 Grand High Poobah
Joined: 18 Nov 2003 Posts: 20756 Location: LI,NY
|
Looking at the fact that this should have been a one way call....
You can verify that the http return code was 200 and disregard anything else...  _________________ MQ & Broker admin |
|
Back to top |
|
 |
|
|
 |
|
Page 1 of 1 |
|
You cannot post new topics in this forum You cannot reply to topics in this forum You cannot edit your posts in this forum You cannot delete your posts in this forum You cannot vote in polls in this forum
|
|
|
|