Author |
Message
|
WMBSAM |
Posted: Fri Nov 06, 2009 4:09 pm Post subject: character set encoding issue |
|
|
 Voyager
Joined: 02 Oct 2009 Posts: 90 Location: Atlanta
|
Hello everyone,
I am trying to make a webservice call using the soap request node . the call fails and i receive the following error :
Quote: |
Text:CHARACTER:Frame : 0 org.apache.axis2.AxisFault: Character Set Encoding from transport information [UTF-8] does not match with character set encoding in the received SOAP message [iso-8859-1]
@: org.apache.axis2.builder.BuilderUtil.validateCharSetEncoding(BuilderUtil.java:786)
@: com.ibm.broker.axis2.SoapUtilities.createSOAPMessage(SoapUtilities.java:2145)
@: com.ibm.broker.axis2.SoapUtilities.createSOAPMessage(SoapUtilities.java:1841)
@: com.ibm.broker.axis2.Axis2Requester.processResponseMessageSync(Axis2Requester.java:1037)
when i tested the same using the SOAP UI i receive the response and i can clearly see the response xml declaration as <?xml version="1.0" encoding="iso-8859-1" ?>
|
so do i have to set anything more in the flow any parameters so that the soap request node accepts the response message in iso-8859-1 format also??? i have also applied the recent fix then to the issue is not fixed
http://www-01.ibm.com/support/docview.wss?uid=swg1IC59116 |
|
Back to top |
|
 |
WMBSAM |
Posted: Sat Nov 07, 2009 1:50 pm Post subject: |
|
|
 Voyager
Joined: 02 Oct 2009 Posts: 90 Location: Atlanta
|
just thought inform that i am able to see the reply when i am using the TCP monitor but in the flow after the SOAP request node i see the above error.
any suggestions would be more helpful. Thanks in Advance?
 |
|
Back to top |
|
 |
WMBSAM |
Posted: Sun Nov 08, 2009 9:24 pm Post subject: |
|
|
 Voyager
Joined: 02 Oct 2009 Posts: 90 Location: Atlanta
|
Hi ther i thought to take advice here before taking any decision on this issues. is that i have to raise the PMR on this issue with IBM???
thanks in advance  |
|
Back to top |
|
 |
kirani |
Posted: Sun Nov 08, 2009 10:24 pm Post subject: |
|
|
Jedi Knight
Joined: 05 Sep 2001 Posts: 3779 Location: Torrance, CA, USA
|
Can you please provide platform details for your Broker server and the server where the Webservice is hosted? If these two platforms are different then you might have to set appropriate CCSID in your Properties folder before you call the webservice. _________________ Kiran
IBM Cert. Solution Designer & System Administrator - WBIMB V5
IBM Cert. Solutions Expert - WMQI
IBM Cert. Specialist - WMQI, MQSeries
IBM Cert. Developer - MQSeries
|
|
Back to top |
|
 |
WMBSAM |
Posted: Mon Nov 09, 2009 9:45 am Post subject: |
|
|
 Voyager
Joined: 02 Oct 2009 Posts: 90 Location: Atlanta
|
do you mean to say that if the platforms are different then i have to explicitly set the charsetencoding to the CCSID of the ISO-8859-1?
platform of the broker is windows(onmy laptop its not connected to ther actual server) platform wherre the webservice is hosted is AIX |
|
Back to top |
|
 |
WMBSAM |
Posted: Mon Nov 09, 2009 9:48 am Post subject: |
|
|
 Voyager
Joined: 02 Oct 2009 Posts: 90 Location: Atlanta
|
but i really think that there is no issue with the request i am sending because through tcp ip monitor i can see that the request is being sent and also i can see that i recieve the response too but something is wrong with the soap request node which creates the above error and also i can clearly see the response is in iso-8859-1 format (in tcp-ipmonitor i can see) my question is that something has to be done at SOAP request node so that it can parse the Response message???? |
|
Back to top |
|
 |
WMBSAM |
Posted: Mon Nov 09, 2009 10:02 am Post subject: |
|
|
 Voyager
Joined: 02 Oct 2009 Posts: 90 Location: Atlanta
|
and also thought to make a point that i am able to also receive the response thru SOAP UI but thru Soap request node in message broker does that mean soap request node doesnot supporrt the above format???
(Sorry for so many question)  |
|
Back to top |
|
 |
kirani |
Posted: Tue Nov 10, 2009 3:51 pm Post subject: |
|
|
Jedi Knight
Joined: 05 Sep 2001 Posts: 3779 Location: Torrance, CA, USA
|
I encountered similar problem before and it was resolved after I changed the CCSID of the message before it's sent to the HTTPRequest node. In our case the input message came from the Mainframe and we were calling a Windows webservice from Windows broker. I hope this helps. _________________ Kiran
IBM Cert. Solution Designer & System Administrator - WBIMB V5
IBM Cert. Solutions Expert - WMQI
IBM Cert. Specialist - WMQI, MQSeries
IBM Cert. Developer - MQSeries
|
|
Back to top |
|
 |
WMBSAM |
Posted: Wed Nov 11, 2009 10:17 am Post subject: |
|
|
 Voyager
Joined: 02 Oct 2009 Posts: 90 Location: Atlanta
|
Hello kirani if you don't mind can you detail the process i mean the what was the CCSID you were using for the message which is coming from the mainframe and the CCSID you have set for the response message which receive from the webservice you aare calling?? DID you mention the CCSID in the properties folder of the message or the MQMD header??
becoz i am using the SOAP request node and i have set the CCSID to the ISO-8859 i.e 819 which is the format of the response message i am receiving but it gives me the same error as above do we have to also set the encoding field in the properties folder of the message which we are sending to the webservice???if so what value it could be?? |
|
Back to top |
|
 |
kirani |
Posted: Wed Nov 11, 2009 4:38 pm Post subject: |
|
|
Jedi Knight
Joined: 05 Sep 2001 Posts: 3779 Location: Torrance, CA, USA
|
The CCSID on my input message from the Mainframe was 500. I changed the CCSID to 437 (Windows) in my compute node when I prepare SOAP request message.
Can you please capture your request message using a Trace node and post the contents here. _________________ Kiran
IBM Cert. Solution Designer & System Administrator - WBIMB V5
IBM Cert. Solutions Expert - WMQI
IBM Cert. Specialist - WMQI, MQSeries
IBM Cert. Developer - MQSeries
|
|
Back to top |
|
 |
WMBSAM |
Posted: Thu Nov 12, 2009 1:35 am Post subject: |
|
|
 Voyager
Joined: 02 Oct 2009 Posts: 90 Location: Atlanta
|
Hello Kirani here is the traced request messaage before sending it to the SOAP REQUEST NODE:
Quote: |
( ['MQROOT' : 0xb845900]
(0x01000000:Name ):Properties = ( ['MQPROPERTYPARSER' : 0x3db89f8]
(0x03000000:NameValue):MessageSet = 'dsfhkdshMessageSet' (CHARACTER)
(0x03000000:NameValue):MessageType = '' (CHARACTER)
(0x03000000:NameValue):MessageFormat = '' (CHARACTER)
(0x03000000:NameValue):Encoding = 273 (INTEGER)
(0x03000000:NameValue):CodedCharSetId = 819 (INTEGER)
(0x03000000:NameValue):Transactional = FALSE (BOOLEAN)
(0x03000000:NameValue):Persistence = FALSE (BOOLEAN)
(0x03000000:NameValue):CreationTime = GMTTIMESTAMP '2009-11-12 09:03:01.740' (GMTTIMESTAMP)
(0x03000000:NameValue):ExpirationTime = -1 (INTEGER)
(0x03000000:NameValue):Priority = 0 (INTEGER)
(0x03000000:NameValue):ReplyIdentifier = X'000000000000000000000000000000000000000000000000' (BLOB)
(0x03000000:NameValue):ReplyProtocol = 'MQ' (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:Folder):XMLNSC = ( ['xmlnsc' : 0xb845060]
(0x01000000:Folder)http://schemas.xmlsoap.org/soap/envelope/:Envelope = (
(0x03000102:NamespaceDecl)http://www.w3.org/2000/xmlns/:soapenv = 'http://schemas.xmlsoap.org/soap/envelope/' (CHARACTER)
(0x03000102:NamespaceDecl)http://www.w3.org/2000/xmlns/:xsd = 'http://www.w3.org/2001/XMLSchema' (CHARACTER)
(0x03000102:NamespaceDecl)http://www.w3.org/2000/xmlns/:xsi = 'http://www.w3.org/2001/XMLSchema-instance' (CHARACTER)
(0x01000000:Folder )http://schemas.xmlsoap.org/soap/envelope/:Body = (
(0x01000000:Folder)http://com/dsjfhkjd/abcds:queryRequest = (
(0x03000102:NamespaceDecl):xmlns = 'http://com/dsjfhkjd/abcds' (CHARACTER)
(0x03000000:PCDataField )http://com/dsjfhkjd/abcds:query = '1113858' (CHARACTER)
(0x03000000:PCDataField )http://com/dsjfhkjd/abcds:user = 'USER01' (CHARACTER)
)
)
)
)
)
and i am getting the folllowing error :
Text:CHARACTER:Frame : 0 org.apache.axis2.AxisFault: Character Set Encoding from transport information [UTF-8] does not match with character set encoding in the received SOAP message [iso-8859-1]
|
but i can clearly see the response in the TCPIP monitor:
Here is the response i receive:
Quote: |
<?xml version="1.0" encoding="iso-8859-1"?>
<soap:Envelope xmlns:m="http://com/dsjfhkjd/abcds" xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
<soap:Body>
<m:queryResponse>
<m:tran>
<m:seqid>200058</m:seqid>
</m:tran>
</m:queryResponse>
</soap:Body>
</soap:Envelope> |
and here is the request message i see thru tcpipmonitor:
Quote: |
<soapenv:Envelope
xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<soapenv:Body>
<queryRequest xmlns="http://com/dsjfhkjd/abcds">
<query>1113858</queryid>
<userid>USER01</userid>
</queryRequest>
</soapenv:Body>
</soapenv:Envelope> |
is there any way wee can set the CCSID for the response message ??  |
|
Back to top |
|
 |
fjb_saper |
Posted: Sat Nov 14, 2009 4:49 pm Post subject: |
|
|
 Grand High Poobah
Joined: 18 Nov 2003 Posts: 20756 Location: LI,NY
|
Set OutputRoot.properties.CodedCharSetId  _________________ MQ & Broker admin |
|
Back to top |
|
 |
WMBSAM |
Posted: Mon Nov 16, 2009 12:56 pm Post subject: |
|
|
 Voyager
Joined: 02 Oct 2009 Posts: 90 Location: Atlanta
|
Quote: |
Set OutputRoot.properties.CodedCharSetId |
NO result the issue still exists.
i am surprised to ask the question does broker support ISO-8859-1?
becoz i have explicitly set the CCSID to ISO-8859-1 then too the issue still persists as i have mentioned before i can see the response in the TCP-iP monitor with encoding:
<?xml version="1.0" encoding="iso-8859-1"?>
but wen it reaches the soap request node i get the error above mentioned error. |
|
Back to top |
|
 |
kirani |
Posted: Mon Nov 16, 2009 8:28 pm Post subject: |
|
|
Jedi Knight
Joined: 05 Sep 2001 Posts: 3779 Location: Torrance, CA, USA
|
Hi WMBSAM,
I have not used the SOAP nodes yet, so I am not sure why this is not working for you. In our scenario, we were using HTTP Nodes.
You might want to open a PMR with IBM for this problem. _________________ Kiran
IBM Cert. Solution Designer & System Administrator - WBIMB V5
IBM Cert. Solutions Expert - WMQI
IBM Cert. Specialist - WMQI, MQSeries
IBM Cert. Developer - MQSeries
|
|
Back to top |
|
 |
fjb_saper |
Posted: Mon Nov 16, 2009 8:56 pm Post subject: |
|
|
 Grand High Poobah
Joined: 18 Nov 2003 Posts: 20756 Location: LI,NY
|
WMBSAM wrote: |
i am surprised to ask the question does broker support ISO-8859-1?
|
Yes this should be
Code: |
Set OutputRoot.Properties.CodedCharSetId=819; |
That you see the corresponding value in XML Encoding may be because you specifically set the XML property in your message tree.
This does not set the content. To set the content you must set the OutputRoot.Properties.CodedCharSetId to the relevant value.
Have fun  _________________ MQ & Broker admin |
|
Back to top |
|
 |
|