ASG
IBM
Zystems
Cressida
Icon
Netflexity
 
  MQSeries.net
Search  Search       Tech Exchange      Education      Certifications      Library      Info Center      SupportPacs      LinkedIn  Search  Search                                                                   FAQ  FAQ   Usergroups  Usergroups
 
Register  ::  Log in Log in to check your private messages
 
RSS Feed - WebSphere MQ Support RSS Feed - Message Broker Support

MQSeries.net Forum Index » WebSphere Message Broker (ACE) Support » SOAP 1.2 Request with SOAPAction

Post new topic  Reply to topic
 SOAP 1.2 Request with SOAPAction « View previous topic :: View next topic » 
Author Message
cevans
PostPosted: Thu Aug 08, 2013 4:01 am    Post subject: SOAP 1.2 Request with SOAPAction Reply with quote

Apprentice

Joined: 18 Jul 2013
Posts: 26

The following issue is happening with Broker Toolkit 8.0.0.2

I am using a SOAPRequest node to connect to a service using SOAP 1.2

The wsdl defines a soapAction for the soap12:operation

When the SOAP Request is generated the header contains the following ...
SOAPAction: "myReg"

In SOAP 1.2 SOAPAction is not supported and the header should contain the following ...
Content-Type: application/soap+xml;charset=UTF-8;action="myReg"

When I load the WSDL into soapUI the request message is created correctly. I have tried this with other WSDL files and they all behave the same.

Is there something specific I need to do to ensure Broker creates the Header as a SOAP 1.2 request?

Thanks
Back to top
View user's profile Send private message
kash3338
PostPosted: Thu Aug 08, 2013 6:22 am    Post subject: Re: SOAP 1.2 Request with SOAPAction Reply with quote

Shaman

Joined: 08 Feb 2009
Posts: 709
Location: Chennai, India

cevans wrote:
When the SOAP Request is generated the header contains the following ...
SOAPAction: "myReg"


How are you generating the SOAP Request message? Do you use a SOAP Envelop node to generate the headers? In that case I guess SOAP Envelop and Extract nodes dont support SOAP 1.2.

You will have to construct the request in ESQL and explicitly set that you are using SOAP 1.2 by setting the SOAP Version to 1.2.
Back to top
View user's profile Send private message Send e-mail
Simbu
PostPosted: Thu Aug 08, 2013 7:37 am    Post subject: Reply with quote

Master

Joined: 17 Jun 2011
Posts: 289
Location: Tamil Nadu, India

http://www.mqseries.net/phpBB/viewtopic.php?t=53371&sid=9704ba5549179ca056e3c2c58e5d36d5

Hope this link answer your query
Back to top
View user's profile Send private message
cevans
PostPosted: Thu Aug 08, 2013 9:48 am    Post subject: Reply with quote

Apprentice

Joined: 18 Jul 2013
Posts: 26

Simbu wrote:
http://www.mqseries.net/phpBB/viewtopic.php?t=53371&sid=9704ba5549179ca056e3c2c58e5d36d5

Hope this link answer your query


Thanks for the link. I searched for all sorts of relevant things and did not come across that thread.

I will try setting the SOAP version and see if that fixes the problem.

I am using ESQL in a Compute node to create the SOAP Request message and then passing it to a SOAP Request Node and allowing that to create the required headers.
Back to top
View user's profile Send private message
cevans
PostPosted: Mon Aug 12, 2013 5:08 am    Post subject: Reply with quote

Apprentice

Joined: 18 Jul 2013
Posts: 26

I have amended my ESQL ...
Code:
SET Environment.InputMessage = InputRoot;
   
SET OutputRoot.Properties = InputRoot.Properties;
   
DECLARE urn  NAMESPACE 'urn:ingruk:ivr:201209';
DECLARE soap NAMESPACE 'http://www.w3.org/2003/05/soap-envelope';

SET OutputRoot.SOAP.Context.Namespace.(SOAP.NamespaceDecl)xmlns:soap = soap;
SET OutputRoot.SOAP.Context.Namespace.(SOAP.NamespaceDecl)xmlns:urn = urn;
SET OutputRoot.SOAP.Context.SOAP_Version = '1.2';

DECLARE outRoot REFERENCE TO OutputRoot.SOAP;
DECLARE inRef   REFERENCE TO InputRoot.JSON.Data.findEventRequest;
   
CREATE LASTCHILD OF OutputRoot.SOAP.Body AS outRoot NAMESPACE urn NAME 'RequestFindEventDetails-v1-0';
   
SET outRoot.urn:EventNum = inRef.EventNum;
SET outRoot.urn:EventStatus = 'All';



I still get a 1.1 SOAP message created ...

Code:
POST /IVR.svc/FindEventDetails-v1-0 HTTP/1.1
Content-Length: 288
Content-Type: application/soap+xml; charset=utf-8
Host: localhost:8888
SOAPAction: "urn:ingruk:ivr:201209:FindEventDetails-v1-0"
Connection: Keep-Alive

<soap:Envelope xmlns:soap="http://www.w3.org/2003/05/soap-envelope" xmlns:urn="urn:ingruk:ivr:201209">
   <soap:Body>
      <urn:RequestFindEventDetails-v1-0>
         <urn:EventNum1>Q805PA004</urn:EventNum1>
         <urn:EventStatus>All</urn:EventStatus>
      </urn:RequestFindEventDetails-v1-0>
   </soap:Body>
</soap:Envelope>


Niot sure why this is still not working.
Back to top
View user's profile Send private message
lancelotlinc
PostPosted: Mon Aug 12, 2013 5:14 am    Post subject: Reply with quote

Jedi Knight

Joined: 22 Mar 2010
Posts: 4941
Location: Bloomington, IL USA

Please update your posts 'EDIT' to use [c o d e ] tags.
_________________
http://leanpub.com/IIB_Tips_and_Tricks
Save $20: Coupon Code: MQSERIES_READER
Back to top
View user's profile Send private message Send e-mail
mgk
PostPosted: Mon Aug 12, 2013 8:32 am    Post subject: Reply with quote

Padawan

Joined: 31 Jul 2003
Posts: 1642

I've had a quick look for you, and for SOAP 1.2 the Broker currently sends the SOAPAction in the HTTPHeaders, and this is accepted by many servers. However, as you point out is should really send it in the Content-Type as an "action" parameter so you will need to raise a PMR for this.

FYI, the message you posted below when you said "I still get a 1.1 SOAP message created ... " is a SOAP 1.2 message (it's using the SOAP 1.2 namespace), it's just that the action is not in the Content-Type.

Kind regards,
_________________
MGK
The postings I make on this site are my own and don't necessarily represent IBM's positions, strategies or opinions.
Back to top
View user's profile Send private message
cevans
PostPosted: Mon Aug 12, 2013 11:53 pm    Post subject: Reply with quote

Apprentice

Joined: 18 Jul 2013
Posts: 26

mgk wrote:
I've had a quick look for you, and for SOAP 1.2 the Broker currently sends the SOAPAction in the HTTPHeaders, and this is accepted by many servers. However, as you point out is should really send it in the Content-Type as an "action" parameter so you will need to raise a PMR for this.

FYI, the message you posted below when you said "I still get a 1.1 SOAP message created ... " is a SOAP 1.2 message (it's using the SOAP 1.2 namespace), it's just that the action is not in the Content-Type.

Kind regards,


Many thanks for clarifying this. It has been driving me mad!
Back to top
View user's profile Send private message
Display posts from previous:   
Post new topic  Reply to topic Page 1 of 1

MQSeries.net Forum Index » WebSphere Message Broker (ACE) Support » SOAP 1.2 Request with SOAPAction
Jump to:  



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
Protected by Anti-Spam ACP
 
 


Theme by Dustin Baccetti
Powered by phpBB © 2001, 2002 phpBB Group

Copyright © MQSeries.net. All rights reserved.