Please be aware that the content in SAP SQL Anywhere Forum will be migrated to the SAP Community in June and this forum will be retired.

I'm a little confused... I'm trying to do a soap call a web service with a couple parameters... and I can't find any documentation that tells me what the right syntax is... and trial and error hasn't gotten me very far.

The service is at http://someserver.com:3030/SecurityManagementService The method is called doAuthenticate The method has two parameters named in0 and in1. The method should return a string

I started by creating this function, and it works great to show me the wsdl... :::SQL

CREATE FUNCTION "rhiner"."test1"()
returns long varchar
url 'http://someserver.com:3030/SecurityManagementService?wsdl' 
type 'http:get'

An then I get stuck...where do I put the method name? I tried this, but it didn't work. And I don't know where to put the two parameters.

:::SQL

CREATE FUNCTION "rhiner"."test1"()
returns long varchar
url 'http://someserver.com:3030/SecurityManagementService?doAuthenticate' 
type 'soap'

I'm using 9.0.2. (I can easily upgrade for this project it that is helpful here.)

thx!

asked 20 Apr '11, 11:02

Ron%20Hiner's gravatar image

Ron Hiner
880202427
accept rate: 9%


By default, the operation name is the same as the name of your SQL function. The parameters "in1" and "in2" should be parameters to the SQL function.

You can also set the SOAP operation as described in CREATE FUNCTION statement (web clients)

To quote that page:

'SOAP(OP[ERATION]=soap-operation-name)' (SOAP only) This option allows you to specify the name of the SOAP operation, if it is different from the name of the procedure you are creating. The value of OPERATION is analogous to the name of a remote procedure call. For example, if you wanted to create a procedure called accounts_login that calls a SOAP operation called login, you would specify something like the following:

:::SQL
CREATE FUNCTION accounts_login( 
    name LONG VARCHAR, 
    pwd LONG VARCHAR )
SET 'SOAP(OPERATION=login)';

If the OPERATION option is not specified, the name of the SOAP operation must match the name of the procedure you are creating.

permanent link

answered 20 Apr '11, 11:17

Phil%20Mitchell's gravatar image

Phil Mitchell
1.9k1831
accept rate: 27%

edited 20 Apr '11, 11:18

Thanks Phil -- yet another reason to upgrade from 9.0.2. Looks like the OPERATION was added later.

(20 Apr '11, 11:48) Ron Hiner

In 9.0.2 the procedure name is mapped the SOAP operation. If you do decide to upgrade, you can use wsdlc.exe to automatically generate SQL stored procedures (functions) to WSDL/DISH services.

permanent link

answered 20 Apr '11, 12:31

Viktor's gravatar image

Viktor
17113
accept rate: 66%

Your answer
toggle preview

Follow this question

By Email:

Once you sign in you will be able to subscribe for any updates here

By RSS:

Answers

Answers and Comments

Markdown Basics

  • *italic* or _italic_
  • **bold** or __bold__
  • link:[text](http://url.com/ "title")
  • image?![alt text](/path/img.jpg "title")
  • numbered list: 1. Foo 2. Bar
  • to add a line break simply add two spaces to where you would like the new line to be.
  • basic HTML tags are also supported

Question tags:

×24
×19

question asked: 20 Apr '11, 11:02

question was seen: 4,774 times

last updated: 20 Apr '11, 12:31