<ZSOAP>zInvokeClient+252^%SOAP.WebClient.1

303 views
Skip to first unread message

Bala

unread,
Sep 16, 2011, 4:10:09 AM9/16/11
to InterSystems: Ensemble in Healthcare

Hi,

I have build a SOAP Outbound adapter using the SOAP wizard and have
customized it as below:

I have used properties to get the user input for the
WebMethodName,ServiceName,Namespace,TypeNamespace and
CustomCredentials (to be passed in the soap header)

The customized code in the Business Operation is as below:

Set tSC
= ..Adapter.InvokeMethod("MsgRequest",,.any,..WebMethodName,..ServiceName,..Namespace,..TypeNamespace,..CustomCredentials)
Quit:$$$ISERR(tSC) tSC

In the webclient(class extending %SOAP.WebClient), I assign these
parameters passed in InvokeMethod to the parameters declared in the
Webclient.

On using the SOAP adapter to send messages to the target web
service(which is a .net WCF service), I get the following error
(trapped using a try catch block):

<ZSOAP>zInvokeClient+252^%SOAP.WebClient.1

I use 2 instances of this adapter, I get the error in both but, in
once instance the target webservice is able to receive the message all
the time and in the other instance, it does not work.

I tried copying the same user inputs to both instance but, it still
does not work.

Kindly let me what could be the problem.

Thank you,

Bala

Alex Schaefer

unread,
Sep 16, 2011, 9:38:35 AM9/16/11
to ensemble-in...@googlegroups.com
It's a bit dangerous to make all these manual modifications - each time you need to reconsume the WSDL you will lose this. I'd recommend setting up the parameters and calling the appropriate methods from where you're invoking the Business Operation and not the BO itself.

Either way, ZSOAP is a generic error. You will have to do a $System.OBJ.DisplayError() to get the specific error message.

Thanks,
-- Alex


Hi,

<ZSOAP>zInvokeClient+252^%SOAP.WebClient.1

Thank you,

Bala

--
You received this message because you are subscribed to the Google Groups "InterSystems: Ensemble in Healthcare Community" group.
To post to this group, send email to Ensemble-in...@googlegroups.com
To unsubscribe from this group, send email to Ensemble-in-Healt...@googlegroups.com
For more options, visit this group at http://groups.google.com/group/Ensemble-in-Healthcare?hl=en

Bala

unread,
Sep 17, 2011, 9:32:43 AM9/17/11
to InterSystems: Ensemble in Healthcare
Hi,

I understand, but where do I write the code to add custom soap headers
to carry the username and password?
How do I pass the credentiald to the webclient, so that I can get the
username and password and add them to the header.

I could use globals but, I am having n number of instance of the soap
adapter in the same production.

Thank you,

S. Balakrishnan

On Sep 16, 6:38 pm, Alex Schaefer <Alex.Schae...@intersystems.com>
wrote:

Alex Schaefer

unread,
Sep 19, 2011, 8:19:02 AM9/19/11
to ensemble-in...@googlegroups.com
It might help to see your production definition as I'm not quite clear on whether you have one Business Operation that you need to dynamically set the credentials for or if you have several Business Operations with different end points? Either way, there is a Credentials setting on the Business Operation that you can use when invoking it.

Bala

unread,
Nov 10, 2011, 11:43:50 PM11/10/11
to InterSystems: Ensemble in Healthcare
Thank you

On Sep 19, 5:19 pm, Alex Schaefer <Alex.Schae...@intersystems.com>
> > On using the SOAP adapter to send messages to the target web service(which is a .netWCF service), I get the following error (trapped using a try catch block):
Reply all
Reply to author
Forward
0 new messages