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 » Creating soapenc:arrayType type of element in ESQL.

Post new topic  Reply to topic
 Creating soapenc:arrayType type of element in ESQL. « View previous topic :: View next topic » 
Author Message
grasher134
PostPosted: Wed Feb 25, 2015 11:47 pm    Post subject: Creating soapenc:arrayType type of element in ESQL. Reply with quote

Acolyte

Joined: 22 Oct 2014
Posts: 62

Hello,

I need to create request to webservice which contains

Code:
<personIDs xsi:type="per:ArrayOf_xsd_string" soapenc:arrayType="xsd:string[]" xmlns:per="http://someaddress/xyz/services/xyz">


I have working soap request in Soapui

Code:
<soapenv:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ser="http://someser" xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/">
   <soapenv:Header/>
   <soapenv:Body>
      <ser:getPersonStatus soapenv:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/">
         <loginData xsi:type="urn:LoginData" xmlns:urn="urn:someurn">
            <pass xsi:type="xsd:string">test</pass>
            <userName xsi:type="xsd:string">test</userName>
         </loginData>
         <personIDs xsi:type="per:ArrayOf_xsd_string" soapenc:arrayType="xsd:string[]" xmlns:per="http://someadress/xyz/services/xyz">
          <item xsi:type="xsd:string">11122466</item>
         </personIDs>
      </ser:getPersonStatus>
   </soapenv:Body>
</soapenv:Envelope>


I have similar service, but without arrays, it worked fine. I was trying to add "Item" elements but it didn't work. I get "no operation found matching payload" error all the time.

I imported the service using wsdl address from http string and used deployable wsdl.

Here is my code with "Items".


Code:
SET OutputRoot.XMLNSC.ser:getPersonStatus.loginData.userName = 'test';
      SET OutputRoot.XMLNSC.ser:getPersonStatus.loginData.pass = 'test';
      
      SET OutputRoot.XMLNSC.ser:getPersonStatus.personIDs.Item = '123456';


Thing that confuses me is that Soap request works even without Items. But my flow doesn't.
Back to top
View user's profile Send private message
mgk
PostPosted: Thu Feb 26, 2015 8:33 am    Post subject: Reply with quote

Padawan

Joined: 31 Jul 2003
Posts: 1638

Have a look at this:

http://www-01.ibm.com/support/knowledgecenter/SSMKHH_9.0.0/com.ibm.etools.mft.doc/bc19050_.htm

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
shashivarungupta
PostPosted: Thu Feb 26, 2015 12:00 pm    Post subject: Reply with quote

Grand Master

Joined: 24 Feb 2009
Posts: 1343
Location: Floating in space on a round rock.

Some time back I faced similar error, you need to make sure that you're using correct 'Binding' in the SOAPInput and 'Binding Operation' in SOAPRequest Nodes (if at all you're using them).

There are few other topics of similar issue, can be found in this forum, if searched.


_________________
*Life will beat you down, you need to decide to fight back or leave it.
Back to top
View user's profile Send private message Send e-mail
grasher134
PostPosted: Thu Feb 26, 2015 9:25 pm    Post subject: Reply with quote

Acolyte

Joined: 22 Oct 2014
Posts: 62

mgk wrote:
Have a look at this:

http://www-01.ibm.com/support/knowledgecenter/SSMKHH_9.0.0/com.ibm.etools.mft.doc/bc19050_.htm

Kind regards,


Thank you for your help. I found this article already, but I wanted to create the message in XMLNSC domain, because Soap request node composes Soap envelope itself.

Is there any way to do it in XMLNSC?



Quote:
Some time back I faced similar error, you need to make sure that you're using correct 'Binding' in the SOAPInput and 'Binding Operation' in SOAPRequest Nodes (if at all you're using them).


I double checked it. I use the same operation, I use in SOAPUI. I use different Soap input and Soap reply nodes, because I'm building a web-service that calls web-service.
Back to top
View user's profile Send private message
smdavies99
PostPosted: Fri Feb 27, 2015 12:08 am    Post subject: Reply with quote

Jedi Council

Joined: 10 Feb 2003
Posts: 6076
Location: Somewhere over the Rainbow this side of Never-never land.

What happens when you remove the incoming SOAP envelope?
What domain is the message tree after passing through a SOAPExtract node?
_________________
WMQ User since 1999
MQSI/WBI/WMB/'Thingy' User since 2002
Linux user since 1995

Every time you reinvent the wheel the more square it gets (anon). If in doubt think and investigate before you ask silly questions.
Back to top
View user's profile Send private message
grasher134
PostPosted: Fri Feb 27, 2015 1:42 am    Post subject: Reply with quote

Acolyte

Joined: 22 Oct 2014
Posts: 62

smdavies99 wrote:
What happens when you remove the incoming SOAP envelope?
What domain is the message tree after passing through a SOAPExtract node?


I don't use incoming message at all now. I hardcoded it in compute module. The problem is in Soap request, which sends request to some 3-rd party web-service. I found that I get 1 warning in wsdl, that I got from this web-service.

Code:
The wsdlsoap:body must specify a "use" attribute with the value "literal"


Maybe IIB just imported it wrong way.. I got some warnings during creating message model from wsdl.

I know, I should write it earlier.. My flow is Soap Input + Subflow - Compute - Soap Request - Compute - Soap Reply.

I created the same structure I send from Soapui, using the article you posted earlier. It didn't work either. I compared the messages with wireshark - they are the same.

If i'll deploy this wsdl as http node it will be http request, right. The difference is that I have to create Soap envelope on my own. I'll give it a try and post if it would work.
Back to top
View user's profile Send private message
grasher134
PostPosted: Fri Feb 27, 2015 2:38 am    Post subject: Reply with quote

Acolyte

Joined: 22 Oct 2014
Posts: 62

Problematic wsdl was a reason...

I get the correct result now from wireshark, but broker returns me

Code:
The first child of the SOAP Body does not correspond to any of the operations defined in the specified WSDL definition.
Check that the correct WSDL definition was deployed
Back to top
View user's profile Send private message
mqjeff
PostPosted: Fri Feb 27, 2015 5:54 am    Post subject: Reply with quote

Grand Master

Joined: 25 Jun 2008
Posts: 17447

I really think you need to examine the namespaces of the message you are producing, compared to the namespaces that are required.

Remember that IIB needs a namespace set on every element in the tree that belongs to a namespace.
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 » Creating soapenc:arrayType type of element in ESQL.
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.