Hi, i am very new to IS and web services. Yes i have read lots of pdf’s and the sticky’s in the forum
I am having one very annoying problem that i cannot solve. in a nutshell, I:
have a business function that i am calling (fires into ERP Enterpriseone)
-business function accepts 1 string input and outputs a single string.
-created 2 new document types of type string
-created a WSDL for this adapter service using HTTP-post method. specified the input and output constraints using the above 2 new documents
-created web service connector from generated WSDL
-created html client that uses client side post to exposed web service connector.(firewall or network issues are not the problem)
can successfully call the connector from a remote html client.
-web service returns only the input variable and value on the screen after hitting the submit button
why does it not print/return the output string value. Have i missed a step? i have spent 2 days without any luck. Any ideas are appreciated as getting this to work will open up a whole new frontier for our small company.
Why use SOAP or a web service at all if you only want to use the HTTP-post binding. Why not just invoke your ERP business function Flow using an HTTP post? No reason at all to complicate things with SOAP.
"can successfully call the connector from a remote html client." - So i created a front end html page that uses a simple form post to the web service connector, where the input field on the .aspx page is the same name as input document constraint on the wsdl. I just wanted to test passing some data from a front end to the IS, invoking the connector, invoking the business function, and returning the output to the remote html client. the problem is the output is not coming back to the html client. i used html post binding cause for me it was the simplest method at the time and i understood how it worked “Why not just invoke your ERP business function Flow using an HTTP post?” - is it possible to invoke the business function adapter service without wrapping it in a web service connector. i wasnt sure if a web service connector was required to invoke a business function from a client? - is there any disadavantages to using http post as opposed to soap? your help is much appreciated, thankyou
Absolutely. Any Flow or Java service that accepts simple inputs or an XML string can be called using an HTTP post. You can see this in action by writing a simple Flow that accepts a parameter or two. Then hit CTRL-B or Test-Run In Browser. This will prompt for the inputs, then launch a browser window. The parameterized URL can be posted from any HTTP client, no SOAP involved.
See the “Invoking Services with a URL”, “Testing Services from a Browser” and “Testing Services that Expect XML Documents as Input” topics in the Developer User’s Guide PDF.
Some would argue that there are only advantages so posting plain ole XML (POX) or simple URL parms. However, if you are building services to be included within a larger ecosystem of standards-based web services, using SOAP may be one of the requirements.