Consuming Exigo Webservices
I am working with a company named Exigo. They have posted their webservices API publicly at http://api.exigo.com/3.0/ since you need proper credentials (which I have, of course) in order to actually use it.
If you go there, let's say to the GetCustomers area (http://api.exigo.com/3.0/ExigoApi.asmx?op=GetCustomers) you will see that they give multiple methods for using their web services. I know that my credentials and test works because I can manually do their CSV method.
I cannot get ColdFusion to work with a CFINVOKE command, however:
<CFINVOKE webservice="http://api.exigo.com/3.0/ExigoApi.asmx?WSDL" username="yourLoginName" password="yourPassword"
company="yourCompany" method="GetCustomers" CustomerID="123" returnvariable="adzCustInfo" />
I get the message "Web service operation GetCustomers with parameters {COMPANY={yourCompany},CUSTOMERID={123}} cannot be found." even though I have tested and know that it does exist (of course I am using real values, not the example ones shown here).
Now, the main IT guy told me that I need to reference this:
//Create Main API Context Object
ExigoApi api = new ExigoApi();
//Create Authentication Header
ApiAuthentication auth = new ApiAuthentication();
auth.setLoginName("yourLoginName");
auth.setPassword("yourPassword");
auth.setCompany("yourCompany");
api.setApiAuthenticationValue(auth);
every time I call their service.
How do I do this? How do I get the credentials so that I can call the service? It seems to me the "new ExigoApi()" is going to be looking for a local reference, but this system is located on a remote server, so I'm not sure how to do that.
Any help would be most appreciated.
Thank youi!
RLS
Message was edited by: RLS
One of the solutions we've encountered is to use XML/XMLParse to fake the authorization header entity and adding it to the web service call using the addSOAPRequestHeader() method:
Say, for instance, you were trying to parse a web service that required an authorization header. Assume that the documentation for the method you are ineterested in looks something like this:
<soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
<soap:Header>
<AuthenticationHeader xmlns="http://www.some_namespace.com/">
<UserName>string</UserName>
<Password>string</Password>
</AuthenticationHeader>
</soap:Header>
<soap:Body>
<HelloWorld xmlns="http://www.some_namespace.com/">
<Foo>string</Foo>
</HelloWorld>
</soap:Body>
</soap:Envelope>
You can consume this web service by doing the following:
1) Build the AuthenticationHeader XML string:
<cfsavecontent variable="sAuthHeaderXML">
<AuthenticationHeader xmlns=http://www.some_namespace.com/>
<UserName>my_username</UserName>
<Password>my_password</Password>
</AuthenticationHeader>
</cfsavecontent>
2) Parse the XML into a CF object:
<cfset objAuthHeader = xmlParse(sAuthHeaderXML)>
3) Instantiate your web service object:
// Create web service object
objWS = CreateObject("webservice", "http://www,some_namespace.com/wsTest.asmx?WSDL");
4) Add your authentication object to your web service request header
// Add authentication header to web service call
addSOAPRequestHeader(objWS, "http://www,some_namespace.com", "AuthenticationHeader", objAuthHeader);
5) Call your remote web service method:
sResponse = objWS.HelloWorld("test");
Be sure to use the correct namespace when generating web service content (especially when dealing with web services built in .NET)
Anyway, it sounds like you've already come up with a good solution for this. I just thought I would add this into the thread in case someone else comes across it later on.
Similar Messages
-
Consuming a webservice in ABAP ECC 6.0 without using XI/ PI
Hi Experts,
I wanted to consume an external webservice without using XI / PI.After doing my homework and search on sdn I came to know that we can consume webservices in ABAP using proxies using SE80(Enterprise Services).
I am trying to create a client proxy with the URL of webservice.It asks me the option to choose between URL or HTTP.
I am selecting URL and in the second screen it asks about the package details and after that it finishes.Later I get an error message stating "NO VENDOR SPECIFIED".Its not allowing me to create a proxy.
So, here are my questions.
Does anyone faced the same kind of problem?
Can we really consume a webservice without using XI / PI or any other middleware?
Is it possible to consume the webservice only with URL or WSDL file ?
Please let me know the exact process.
Thanks in Advance.
Shanker Pandey.Hi Martin,
Please check these following links. Though you have reported already, these may help
Proxy Object generation error using Wizard for Web Service Consumption
Also, please have a look @ /people/thomas.jung/blog/2006/03/13/develop-a-web-service-that-sends-an-email--in-abap-netweaver-04s
Hope this helps,
Karthik -
Getting error while consuming google webservice in jspDynpage
Hi All,
I am consuming google webservices in my JspDyn page
i am getting following error
An exception occurred while processing a request for :
iView : GoogleSer.google
Component Name : GoogleSer.google
Could not find portal application <b>com.company.global.enterprise.portal.wsdl.webservices.service.</b>
Please help me to resolve this issue
code ::
MyGoogle googleService =
(MyGoogle) PortalRuntime.getRuntimeResources().getService("com.company.global.enterprise.portal.wsdl.webservices.service.MyGoogle");
GoogleSearchResult result = googleService.doGoogleSearch("google", "SAP", 0, 10, false, "", false, "", "", "");
Thanks & Regards
RudraHi,
I am still having the same problem, however the scenario in which I am getting varies.
I am getting this exception:
"com.sap.engine.services.webservices.jaxm.soap.accessor.NestedSOAPException: IOError while working with the message."
Some users when trying to login into the portal are getting blank screen and for some the portal launcher page is loading fine and could go to the Home Page.
When I view the logs I am seeing the Nested Soap Exception.
Any Ideas??? Starting the J2EE engine also did'nt help.
Thanks in advance.
Madhavi -
Error While Consuming the webservice in ABAP
Hi,
I am trying to consume a webservice in ECC. I have imported the WSDL and generated the proxy. Did the configuration in the SOAMANAGER. While calling the webservice from the program I am getting the following error message. "SRT: Unsupported xstream found: ("HTTP Code 400 : Bad Request")"
Any help is appreciated.
Thanks
Raghavendra KuamrHi,
Check ST11 to find detailed log of issue, most likely you are passing "WS-A" message id along with request (check settings in SOAMANAGER Logical Port).
Try calling service after suppressing "Message Id transfer". See SAP Note: 1361688 and related notes in 0001292171
Regards,
Gourav
PS: please search forum before posting questions. -
While Consuming a WebService in JSP Dyn Page - There is an Error
Hi Friends,
I have a web service created in ASP.NET web Service.
And I have Consumed the Web Service using WSDL URL.
I need to write a code to refer that class in the JSP DynPage
I have created like this in DoIntialization
MyServiceName obj=(MyServiceName) PortalRuntime.getRuntimeResources().getService(MyServiceName.KEY);
int a = 10;
int b = 20;
obj.Add1(a,b);
but it shows an error
"The method Add1 Method(Add1 Method) is the type. MySErviceName is not Applicable for the arguements(int,int)"
Please Help me in this regard.
Thanks in Advance
Thanks & Regards,
PalaniHi Andy,
I will let u know the sequence which i followed to consume the Webservice.
NWDS --> File --> New --> Project --> Portal Application --> Create New Portal App Project.
The Project is created.....
After that i want to consume the Webservice for the same project...
for that...
NWDS --> File --> New --> Other --> Portal Application --> Create New Portal Application Object --> Selecting My Project?(intended prjct) --> Portal Webservice --> Portal Service from WSDL file - Client Side --> My WSDL URL --> Selecting the methods which i need to expose from the Webservice --> I gave unique name for my 1) Service 2) Alias 3) Package....and that was done....(other way is to add from portalapp.xml ??)
After that i created a new JSPDyn page for my application in DoInitialization() method i tried to access the method from that webservice using the following code...
MyServiceName obj=(MyServiceName) PortalRuntime.getRuntimeResources().getService(MyServiceName.KEY);
I am successfully able to access the method from the webservice using the object which i have created but i am not able to pass arguments to that method...???
I tried consuming same webservice created in .NET in .NET itself and i am able to pass arguments successfully.
I tried to consume webservice created in ABAP in .NET and able to implement successfully...
but the same ABAP webservice when i tried to consume its not working with this NWDS.
Is there any thing else i need to follow while consuming a webservice in the EP Perspectice of NWDS ???
Deployable Proxy is required for that ?? if required how to create and use that ??
Thanks in Advance,
Palani -
What settings are reqd. for consuming a webservice in 6.2 - Other questions
Hi,
I have been following the below mentioned blog to create a program to consume a webservice.I am currently on Enterprise version(4.7), release 6.2.
I get a communication_failure(sy-subrc = 1) when using "METHOD http_client->receive".Please let me know if you have any solutions.(The code of the program is in the blog..link mentioned below)
Could the group provide solutions to the following in relation to blog mentioned below:
Webservice consuming using ABAP in 6.2
/people/durairaj.athavanraja/blog/2004/09/20/consuming-web-service-from-abap
- What Proxy settings are required to be performed,
where can we perform the same
- What is the information required to fill the user id
and passwords for ? - Are the credentials for the
webservice we are calling or for the proxy
(correct me if i am wrong)
- How can we fill the fields Proxy and port, how do they
play a role.
Thank youHi,
As reply to his blog DuraiRaj Athavan Raja has provided the following information.Thank you Raja.
http_client->receive - Communication failure obtained
2006-07-18 22:29:04 Durairaj Athavan Raja [Reply]
do you connect to internet via proxy? if yes you have to either code proxy authentication or simply maintain it in transaction SICF.
go to
SICF->client->proxy settings
go to http_log tab
host name: proxyhost.domain.com
port: <portno>
user - > proxy user id
pwd -> proxy pwd and save it .
and this setting is per client , so you have to do that for all clients.
Regards
Raja
I am working on getting the proxy settings completed and will update the post when i am through with all the findings. -
Need to consume Beehive webservices but can't figure out the best way
Hi
I'm completely new to the Beehive scene and I've been commissioned to write a sample application that consumes Beehive Webservices, just add a File to a certain workspace and be able to authenticate users via SSO and basic Authentication to a local DB. Initially I was told that Beehive had only support for REST webservices, so I thought it might be just easier to just go with REST, do a simple POST/GET request and get results, however I'm having a hard time running the sample code as a class is missing.
However I just found that Beehive also has support for SOAP webservices (I somehow like them more as I'm more used to them) but same problem, I don't know how would I authenticate, I found were the WDSL are stored and everything but I just don't understand how would I make a user authenticate with SSO or any other method
Finalyl there's this BPEL workflow for jDeveloper and JCR API.
I just don't know where or how to start, tutorials are oracle.com assume too many things, I was thinking in creating proxy classes using the Beehive WSDL's and consume the services this way, however I still don't understand how to authenticate.
Can anyone give me directions on this? How to use Beehive's SSO and Basic Authentication? thanks in advanceHi,
Regarding the basic http authentication, an answer was provided in your other post:
Authentication with SOAP API
And regarding the missing class in the Rest sample code. I'm currently taking a look at it and, hopefully, I will get you an update on this in the following post:
Failure Class not bundled with BDK Samples
Regards,
Ward -
Consume a WebService that exists in SAP ECC 6.0
Hello evrybody,
I have a requirement that I've never done before, I have a webservice in transaction WSADMIN in a SAP ECC 6.0, and I need to consume it from PI but I don't know how, I've worked before with BAPI's and ABAP Proxies but never with WebServcies like this, do you know any documentation or maybe a blog on how to do this?, thanks in advance.
Regards,
KarlaThanks for your answers, I've used ABAP Proxies before, but in the way of generating an ABAP Proxy of a Inbound or Outbound interface from the IR, now I need to consume a WebService already created in SAP ECC 6.0, and I've never donde this before, I'm trying to understand that using SOAP Adapter I should get the WSDL File of the webservice and upload as an External Definition in the IR, but where could I get the URL to consume the webservice that exists in SAP ECC 6.0, thanks.
-
Consuming external webservice in webdynpro
Hi colleagues
I am trying to consume a webservice "BORM_API_A1S_GET_UPD_SW_VECTOR" in webdynpro, it is an external webservice
i have followed the below steps and ended up with an error
Steps:
1) created a Adaptive web service model
2) got the WSDL source from "Remotelocation/fileSystem"
3) given the WSDL URL Acess as "e:///C:\Documents and Settings\Desktop\BORM_API_A1S_GET_UPD_SW_VECTOR.wsdl"
4) created a service group
5) then i have done the " model to controller" binding and "controller to view" binding
6) in the INIT method of controller i have creted the instance of the model and binded it to the context element
7) set some some values in the init methiod(for input parameters)
8) designed a view to get the values that are set into the input parameters
9) Configured the service group
i am getting an error saying
"*java.io.IOException: Cannot connect to https://service.sap.com:443/sap/bc/bsp/spn/swdc/slm/accessctrl.do, used user to connect: S0004119795, message : Unable to connect to service.sap.com:443 - service.sap.com*"
I think i am doing wrong service confuguration
steps i have followed to Configure the service group are given below
1) logged into http://ldcidwd.wdf.sap.corp:50000/nwa
2) SOA management-->technical information --> system connections
here i have selected the provider systems tab, and created a new provider system of system type "Java"
Here i need to provide someother information which i am not sure about what to provide, Could any one let me know what to be provided for the other fields
u2022 System Type: Java
u2022 System Name: <System ID> ?( what is this)
u2022 Host: <Host>?
u2022 System Description: My Web Service System
u2022 Username: <Administrator>?
u2022 Password: <Password for Administrator>?
u2022 Profile Name: SAP_DEFAULT_PROFILE
u2022 Mode: Multiple Services
u2022 Services Source: WSIL
u2022 WSIL URL: ?(what should be provided here
u2022 Socket Timeout: 60.000
Please let me know what shall i fill in this fields
Thanks & Regards
SwethaHi Gayathri,
i have opened the WSDL file and i found there are two URLS
1) "<soap:operation
soapAction="http://www.sap.com/BORM_API_A1S_GET_UPD_SW_VECTOR" />"
2)<soap:address
location="http://pwdf4431.wdf.sap.corp:1080/sap(bD1lbiZjPTAwMQ==)/bc/bsp/sap/bosf_swdc_slm/accessctrl.do" />
i have tried pasting the address URL ina n other IE and i was asked for Authentication
Thanks & Regards
Swetha -
Consuming external webservice in an automated activity
hi,
i am consuming a bapi based webservice in an automated activity. i have checked this in wsnavigator using WSDL, it is working fine. when i consume this in my process dc , it asks me to create aService group. i have created one and now deployed dc to server. it doesn't work and in log error it shows that thsi service group is not assigned to any physical system.
now i tried to create a business scenario communication, for this i created provider systems (it was created and pinged sucessfully, showed all the web services lying in its service registry). when i was creating business scenario, under first step credentials of service group and provider systems are provided. unser second step when i tried to add the services it didn't showed the services which it showed me while i pinged.
please tell me how to sucessfully consume an external web service (bapi based).This is lying on SR but when i tried to access it through single service administration, it was not there. please guide me how can i sucessfully consume this webservice (using service group or logical destination).
Thanks In Advance.Hi Rohit,
try with Application Communication Configuration instead of Business Scenario (should be easier for single service). Make sure you have entered the correct credentials for the backend system (both for metadata retrieval and for runtime invocation).
Instead of Service Registry you can also try with WSIL when creating the provider system. The WSIL URL for the ABAP system should look like this: http://host:port/sap/bc/srt/wsil.
Please also check the SOA config guide by Alexander Zubev:
http://www.sdn.sap.com/irj/scn/go/portal/prtroot/docs/library/uuid/40dabb46-dd66-2b10-1a9a-81aa620098b3
Hope this helps,
Christian
Edited by: Christian Loos on Dec 29, 2009 10:28 AM -
Consuming XI webservice in Dot net application.
I have created a Xi webservice and hosted it on a server.Now I want to consume this webservice in a dot net application. But while consuming it I get a binding error from the webservice.Does anyone has a solution fron this. Do I have to do some XI settings while creating web service.
have you used the WSDL created in XI - u can find it from http://<server>:<port>/wsnavigator/enterwsdl.html
Also use the link in soap:address location for your test purposes.
If proxy is involved in your network you will have to consider tht too and finally u sud use a XI user id to connect. -
Consuming external webservice in SAP
Hi All,
Wjile Consuming external webservice that is .NET webservice in SAP I am getting the error "Proxy generation terminated: WSDL
(<extension> not supported)". Please can anyoone tell me what would be the issue and how should I resolve it.
Thanks in Advance,
Meenu.The SAP version that we are using is ECC 5.0. And the URL that they have given me to consume has some .svc extension.
http://ctnhgesappdev.corp.timken.com/GES_EDISService/EDISService.svc?wsdl
So when I am trying to consume this in SAP I am getting the error "Proxy generation Terminated : WSDL error : (<extension> not supported)". -
Getting error in consuming google webservices from JspDynPage
Hi All,
Getting following error while consuming google webservices from JspDynPage
An exception occurred while processing a request for :
iView : GoogleSer.google
Component Name : GoogleSer.google
Could not find portal application com.company.global.enterprise.portal.wsdl.webservices.service.
Code :
MyGoogle googleService =
(MyGoogle) PortalRuntime.getRuntimeResources().getService("com.company.global.enterprise.portal.wsdl.webservices.service.MyGoogle");
GoogleSearchResult result = googleService.doGoogleSearch("google", "SAP", 0, 10, false, "", false, "", "", "");
ResultElement[] results = result.getResultElements();
if(results != null) {
response.write("<br> Search Result Size " +results.length );
for (int i = 0; i < results.length; i++) {
response.write((i + 1) + ": " + results);
Thanks
RudraHi,
I am still having the same problem, however the scenario in which I am getting varies.
I am getting this exception:
"com.sap.engine.services.webservices.jaxm.soap.accessor.NestedSOAPException: IOError while working with the message."
Some users when trying to login into the portal are getting blank screen and for some the portal launcher page is loading fine and could go to the Home Page.
When I view the logs I am seeing the Nested Soap Exception.
Any Ideas??? Starting the J2EE engine also did'nt help.
Thanks in advance.
Madhavi -
Hi All,
Im following this help doc to build an application to consume a webservice.
http://help.sap.com/saphelp_nw04/helpdata/en/81/12703e5da3e946e10000000a114084/frameset.htm
What I want to understand is the following :
In point no 7. What configuration do I need to do with the logical port.
7. If necessary, configure the logical port.
In point no 8. What is SEI and how do I program my application using the SEI.
8. Program your application using the service endpoint interface (SEI).
What does the below mean? This is point no 8 continued.
When programming a client application, you receive a stub that implements the service endpoint interface through the implementation class of the service interfaces.
Transfer the Web Service Client API to the Java project class path that contains the client application. You can also add the Client API JAR file from the context menu of the Java Explorer in the Web Service perspective.Hi
I have created a deployable proxy for this webservice. I have now created a EAR and have deployed this EAR on the JAVA WAS.
Then I have added the JAR file of this JAVA Proxy into my project using->Project->Properties->Add Jars.
The question is how do I use this proxy now.
Thanks -
Consuming a Webservice is extremly slow
Hi
I would like to use a Webservice to communicate with a
server. For test purposes I wrote a small java webservice which
adds to numbers using the following 2 classes.
== Class Calculator ==
package de.theserverside.webservice.service;
import javax.jws.WebService;
import javax.jws.soap.SOAPBinding;
import javax.jws.soap.SOAPBinding.Style;
@WebService
@SOAPBinding(style=Style.RPC)
public class Calculator
public long addValues(int val1, int val2) {
return val1 + val2;
== Class CalculatorServer ==
package de.theserverside.webservice.service;
import javax.xml.ws.Endpoint;
import de.theserverside.webservice.service.Calculator;
public class CalculatorServer {
public static void main (String args[]) {
Calculator server = new Calculator();
Endpoint endpoint =Endpoint.publish("
http://<IP Adresse>/calculator?wsdl",
server);
In Coldfusion I tested both methods to consume this
Webservice:
<cfinvoke webservice="
http://<IP Adresse>/calculator?wsdl"
method="addValues" returnvariable="aString">
<cfinvokeargument name="arg0" value="1"/>
<cfinvokeargument name="arg1" value="6"/>
</cfinvoke>
<cfoutput>#aString#</cfoutput>
== mit cfskript ==
<cfscript>
ws = createObject("webservice","
http://<IP
Adresse>/calculator?wsdl");
xlatstring = ws.addValues(2,9);
</cfscript>
<cfoutput>#xlatstring#</cfoutput>
The Webservice works with both methods but it takes between 5
and 6 Minutes to get a result.
I also wrote a java client to test the webservice which
returned the result within 1 second.
Whats the problem here with CF?
I am using CF 8I found a third way to call a webservice using chttp. But now
I have the problem that I cant pass paramaters to my method.
I wrote a simple hello world method without any paramater and
it worked within 1 sec.
When I try to use the addValues method I get this Error:
ns2:Serverjava.lang.IllegalArgumentException
here is the CF Code
<cfsavecontent variable="soap">
<soapenv:Envelope xmlns:soapenv="
http://schemas.xmlsoap.org/soap/envelope/"
xmlns:ser="
http://service.webservice.theserverside.de/">
<soapenv:Header/>
<soapenv:Body>
<ser:addValues>
<arg0>6</arg0>
<arg1>34</arg1>
</ser:addValues>
</soapenv:Body>
</soapenv:Envelope>
</cfsavecontent>
<cfhttp url="
http://<IP>/calculator?wsdl"
method="post">
<cfhttpparam type="header" name="content-type"
value="text/xml">
<cfhttpparam type="header" name="SOAPAction" value="">
<cfhttpparam type="header" name="content-length"
value="#len(soap)#">
<cfhttpparam type="header" name="charset"
value="utf-8">
<cfhttpparam type="xml" name="message"
value="#trim(soap)#">
</cfhttp>
<!--- Dump out a nice representation of the SOAP response
--->
<cfoutput>#cfhttp.FileContent#</cfoutput>
<cfdump var="#xmlParse(cfhttp.FileContent)#">
Maybe you are looking for
-
ALERT: CVS disabled NFC terminal to block Apple Pay in support of other Moblie payment systems
CVS has shut down their NFC machines in an attempt to block Apple Pay and Google wallet to support QR code wallet system with other major retail partners like Walmart and BestBuy. Their technology not even close to being secure. Be sure to file compl
-
Trouble with a bindVar function in the reflection
Hello everybody! I have some trouble with using FXObjectValue.bindVar(...) function. I'm getting java.lang.UnsupportedOperationException: unimplemented: bindVar exceprion :( I loked up to source code of JavaFX and I can't find implementation this fun
-
Can I transfer video from an iPad to a CD (Windows PC) so that it can be watched on a VCR by someone else? If it can be done, how difficult is it?
-
[Q] ORA-30510 error while doing full database import
We have ORACLE 9.2.0.6 on Redhat LINUX AS 3.4. while we doing "full database import" there has ORA-30510 come out. I searched Metalink and Google, but not found much information. The error messages on import are: . importing OUTLN's objects into OUTL
-
Disk space being filled rapidly and only cleared upon restart. what's up?
hey, yesterday my macbook pro gave me a disk space error, which i get occasionally because my hard drive is usually pretty full. I try to keep at least 7gb free though, and yesterday i knew that didn't make sense. turns out my hard drive is being fil