Consuming a web service with header
Hi
I am trying to consume a web service in BIP.
But the problem is that the authentication is in the header of the SOAP, it does not take the values provided in username/password field in complex type service.
(However i am able to see the methods in the body of the web service.)
hence i get an error "username not specified"
how do i pass the credentials in the header of the soap?
I am using BIP 10.1.3.4
This is the output at the oc4j when I try to execute:
After WSS soapMessage = <soap:Envelope xmlns:soap="http://sche
mas.xmlsoap.org/soap/envelope/">
*<soap:Header></soap:Header>*
<soap:Body xmlns:ns1="urn:XYZ_Request">
<ns1:OpGet>
<ns1:Request_ID>000000000000019</ns1:Request_ID>
</ns1:OpGet>
</soap:Body>
</soap:Envelope>
Notice that Header is null. I want to pass the authentication in the header.
Similar Messages
-
Consuming a Web Service with PasswordDigest Authentication in ABAP
Hello,
I need to consume a web service in ABAP from a non-SAP application. The web service uses wsse:UsernameToken with PasswordDigest in the SOAP Header for authentication. However, I havent seen any documentation for using Password Digest in ABAP.
Is it possible to use Password Digest in ABAP?
Thanks
AjayHi Marc,
Here is the ABAP Code to build the SOAP header.
FUNCTION Z_GET_SOAP_REQUEST_HEADER.
*"*"Local Interface:
*" EXPORTING
*" VALUE(ER_SECURITY_ELEMENT) TYPE REF TO IF_IXML_ELEMENT
*date and time data
data: lv_sys_date like sy-datum,
lv_sys_time like sy-uzeit,
lv_year(4) type c,
lv_month(2) type c,
lv_date(2) type c,
lv_hour(2) type c,
lv_min(2) type c,
lv_sec(2) type c.
data : lv_created type string,
lv_snonce type string,
lv_b64nonce type string,
lv_webservice_password type string,
lv_webservice_userid type string,
lv_spassword type string,
lv_xpassword type xstring,
lv_hpassword type hash160x,
lv_b64password(255) type c,
lv_xpasslen type i,
lv_hpasslen type i.
*xml declartions
data : lv_sheader type string,
lv_xheader type xstring,
xml_document TYPE REF TO if_ixml_document,
xml_root TYPE REF TO if_ixml_element,
xml_element TYPE REF TO if_ixml_element,
xml_node TYPE REF TO if_ixml_node.
*get the c-link password.
CALL METHOD ZCL_CDB_SYNC_CFG_READER=>GET_USERID_PASSWORD
IMPORTING
EV_USER_ID = lv_webservice_userid
EV_PASSWORD = lv_webservice_password
*Evaluate created date time
lv_sys_date = sy-datum.
lv_sys_time = sy-uzeit.
lv_year = lv_sys_date(4).
lv_month = lv_sys_date+4(2).
lv_date = lv_sys_date+6(2).
lv_hour = lv_sys_time(2).
lv_min = lv_sys_time+2(2).
lv_sec = lv_sys_time+4(2).
CONCATENATE lv_year '-' lv_month '-' lv_date 'T' lv_hour ':' lv_min ':' lv_sec '.000Z' into lv_created.
*Create and encode the nonce
CALL FUNCTION 'GENERAL_GET_RANDOM_STRING'
EXPORTING
NUMBER_CHARS = 24
IMPORTING
RANDOM_STRING = lv_snonce.
CALL METHOD cl_http_utility=>ENCODE_BASE64
EXPORTING
UNENCODED = lv_snonce
RECEIVING
ENCODED = lv_b64nonce.
*create the password to be sent to web service
CONCATENATE lv_snonce lv_created lv_webservice_password into lv_spassword.
*encode password to xstring
CALL FUNCTION 'SCMS_STRING_TO_XSTRING'
EXPORTING
TEXT = lv_spassword
IMPORTING
BUFFER = lv_xpassword.
lv_xpasslen = xstrlen( lv_xpassword ).
CALL FUNCTION 'CALCULATE_HASH_FOR_RAW'
EXPORTING
ALG = 'SHA1'
DATA = lv_xpassword
LENGTH = lv_xpasslen
IMPORTING
HASHX = lv_hpassword
HASHXLEN = lv_hpasslen.
CALL FUNCTION 'SCMS_BASE64_ENCODE'
EXPORTING
INPUT = lv_hpassword
INPUT_LENGTH = lv_hpasslen
IMPORTING
OUTPUT = lv_b64password
EXCEPTIONS
OUTPUT_TOO_SMALL = 1
OTHERS = 2.
IF SY-SUBRC <> 0.
* MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
* WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.
* build the header
CONCATENATE
'<soap-env:Header xmlns:soap-env="http://schemas.xmlsoap.org/soap/envelope/">'
'<wsse:Security xmlns:wsse="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd">'
'<wsse:UsernameToken wsu:Id="########" xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd">'
'<wsse:Username>'
lv_webservice_userid
'</wsse:Username>'
'<wsse:Password Type="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-username-token-profile-1.0#PasswordDigest">'
lv_b64password
'</wsse:Password>'
'<wsse:Nonce>'
lv_b64nonce
'</wsse:Nonce>'
'<wsu:Created>'
lv_created
'</wsu:Created>'
'</wsse:UsernameToken>'
'</wsse:Security>'
'</soap-env:Header>'
INTO lv_sheader.
*Build the xml header element
lv_xheader = cl_proxy_service=>cstring2xstring( lv_sheader ).
TRY.
CALL FUNCTION 'SDIXML_XML_TO_DOM'
EXPORTING
xml = lv_xheader
IMPORTING
document = xml_document
EXCEPTIONS
invalid_input = 1
OTHERS = 2.
IF sy-subrc = 0 AND NOT xml_document IS INITIAL.
xml_root = xml_document->get_root_element( ).
er_security_element ?= xml_root->get_first_child( ).
gr_soap_security_header = er_security_element.
ENDIF.
CATCH cx_ai_system_fault .
ENDTRY.
ENDFUNCTION. -
Consuming a Web Service with WEB AS 6.40
Hello,
i try to consume a Webservice from the internet. I have configured the logical port and i created the client proxy as shown in the following real good weblog from
Thomas Jung.
/people/thomas.jung3/blog/2004/11/17/bsp-a-developers-journal-part-xiv--consuming-webservices-with-abap
But when i try to test the proxy in SE80 I retrieve the following error:
<CODECONTEXT>http://www.sap.com/xml_errorcodes</CODECONTEXT>
<CODE>SOAP:111</CODE>
<ERRORTEXT>Unallowed RFC-XML Tag (SOAP_EINVALDOC)</ERRORTEXT>
What's wrong here? Someone can help me?
Thanks for your help!
KlausWe had the same error message for one of our Proxy Web Service calls.
We tried to use an RFC instead of the URL, and performed a TEST CONNECTION. And low and behold, we received an error message that was much more helpful than the "Unallowed RFC-XML Tag (SOAP_EINVALDOC)" message.
The problem for us was that the Server that we were trying to consume the Web service from was blocking the IP address of our Web Application Server.
We contacted the administrator, he verified that was the case, removed the restriction, and all is good now.
Here was the message we saw when we tested it in the RFC:
The Web server you are attempting to reach has a list of IP addresses that are not allowed to access the Web site, and the IP address of your browsing computer is on this list. Please try the following: Contact the Web site administrator if you believe you should be able to view this directory or page.
Hope this helps! -
Consuming a Web Service with ABAP in WAS 6.40 (SS3)
Hi Everyone,
Has anyone successfully consumed a web service (based on an EJB) that is published to the J2EE engine of their WAS 6.40 server by creating a proxy from the ABAP layer?
We are encountering the following problem: When executing method of the proxy to call the Web Service on the J2EE engine, the CX_AI_SYSTEM_FAULT exception is triggered with the message "Unallowed RFC-XML Tag (SOAP_EINVALDOC)".
This same problem has occurred with multiple web services, even though the proxy generation seems to execute without a problem. Is there some system setting that could cause this? We have run the SOAP Runtime trace, but only receive the same basic information about the problem.
If anyone has any thoughts at all, I'd be grateful to hear them.
Thanks,
--GregHi,
We encountered problems when consuming a foreign WS. It seems to be that RPC style WSDL isn't supported by the WAS 6.4 WS proxy. An interesting reading on this is
https://www.sdn.sap.com/irj/servlet/prt/portal/prtroot/com.sap.km.cm.docs/documents/a1-8-4/the difference between rpc and document style wsdl.article
Eddy -
Consuming SAP web services with tables
I'm doing kind of feasibility study on consuming SAP web
services from CF.
So far so good, but I'm stuck dealing with tables
(import/export parameters in SAP world).
I know how to receive a table object from SAP functions:
* With Apache Axis v1.2: pass an empty CF structure as a
parameter
* With Apache Axis v1.4: pass an empty CF array as a
parameter
Then the parameter is filled with data (replaced with Java
object) and we can just parse the object accordingly.
My question here is whether or not we can pass a *table with
actual records*.
For example, I want to pass a table with multiple records to
update DB records under SAP.
I tried passing (1) CF array of structure and (2) Java
ArrayList with no chance.
The web service call itself completes without errors (no
method signature error), but the SAP function seems to see the
parameter as an empty table.
Anyone has been successful with this case?
Any suggestion would be much appreciated.Thanks Dan,
Unfortunately CF query object didn't work either.
Now I'm looking at the code generated by Flex Builder to see
how the classes are like ;-)
It's just an ArrayCollection of simple value objects
(representing a row).
So CF array of structure or Java ArrayList looks a reasonable
approach though they don't at all. -
Exporting to Microsoft Excel from a DataView Web Part consuming a Web Service with Parameters
In Sharepoint Designer, I've developed a page displaying a DataView Web Part which consumes an XML Web Service with three parameters. These parameters are passed in from a simple Form Web Part containing three input fields. I am able to provide default values for the web service so the dataview is initially populated, and when I enter in new parameters, the web service goes back, grabs the requested data and displays in the dataview nice and slick.
The problem I'm having is this: In Internet Explorer 7, when I right-click on the DataView Web Part and select Export to Microsoft Excel, Excel opens up, says "ExternalData_1: Getting Data..." and returns the data from the web service which applies to the default parameter values each and every time, regardless of whether I have changed the parameters on the web page, and contrary to what the DataView Web Part displays on the screen.
Has anyone else run into this, and is there a solution to the problem?
Best regards,
Mark ChristieHi Bullish35,
It's possible to provide single export button and export your 4 dataview webparts. Here's the modified code.
<Script Language="Javascript">
function isIE() // Function to Determine IE or Not
return /msie/i.test(navigator.userAgent) && !/opera/i.test(navigator.userAgent);
function exportToExcel() // Function to Export the Table Data to Excel.
var isIEBrowser = isIE();
if(isIEBrowser== false)
alert('Please use Internet Explorer for Excel Export Functionality.');
return false;
else
var strTableID1 = "detailsTable1", strTableID2 = "detailsTable2", strTableID3 = "detailsTable3", strTableID4 = "detailsTable4";
var objExcel = new ActiveXObject("Excel.Application");
var objWorkBook = objExcel.Workbooks.Add;
var objWorkSheet = objWorkBook.Worksheets(1);
var detailsTable = document.getElementById(strTableID1);
var intRowIndexGlobal= 0;
for (var intRowIndex=0;intRowIndex<detailsTable1.rows.length;intRowIndex++)
for (var intColumnIndex=0;intColumnIndex<detailsTable1.rows(intRowIndex).cells.length;intColumnIndex++)
if(intColumnIndex != 3)
objWorkSheet.Cells(intRowIndexGlobal+1,intColumnIndex+1) = detailsTable1.rows(intRowIndex).cells(intColumnIndex).innerText;
intRowIndexGlobal++;
for (var intRowIndex=0;intRowIndex<detailsTable2.rows.length;intRowIndex++)
for (var intColumnIndex=0;intColumnIndex<detailsTable2.rows(intRowIndex).cells.length;intColumnIndex++)
if(intColumnIndex != 3)
objWorkSheet.Cells(intRowIndexGlobal+1,intColumnIndex+1) = detailsTable2.rows(intRowIndex).cells(intColumnIndex).innerText;
intRowIndexGlobal++;
for (var intRowIndex=0;intRowIndex<detailsTable3.rows.length;intRowIndex++)
for (var intColumnIndex=0;intColumnIndex<detailsTable3.rows(intRowIndex).cells.length;intColumnIndex++)
if(intColumnIndex != 3)
objWorkSheet.Cells(intRowIndexGlobal+1,intColumnIndex+1) = detailsTable3.rows(intRowIndex).cells(intColumnIndex).innerText;
intRowIndexGlobal++;
for (var intRowIndex=0;intRowIndex<detailsTable4.rows.length;intRowIndex++)
for (var intColumnIndex=0;intColumnIndex<detailsTable4.rows(intRowIndex).cells.length;intColumnIndex++)
if(intColumnIndex != 3)
objWorkSheet.Cells(intRowIndexGlobal+1,intColumnIndex+1) = detailsTable4.rows(intRowIndex).cells(intColumnIndex).innerText;
intRowIndexGlobal++;
objExcel.Visible = true;
objExcel.UserControl = true;
</Script>
I haven't tested this. But it should work! :)Regards,
Venkatesh R
/* My Code Runs in Visual Studio 2010 */
http://geekswithblogs.net/venkatx5/ -
Consuming Java Web Service with complex return types
Hi,
I'm consuming a Java Web Service and the return I get in
ColdFusion is a typed Java Object (with custom Java classes like
com.company.project.JavaClass ...)
Within this object I don't get direct accessible properties
as when I'm consuming ColdFusion Web Services, instead I get a
getPROPERTYNAME and setPROPERTYNAME method for each property.
How can I handle this? I don't want to call this methods for
each property (and there are nested objects with arrays of custom
classes below, which would really make this complicated).
What's the best way to cope up with this?
Thanks a lot,
FritzThe web service is actually the function, not the cfc and you
didn't show a function.
My own opinion is that since webservices by definition should
be available to any calling app (cold fusion, .net, flash, etc),
whatever gets returned from the method should be as universally
recognizable as possible. This generally means text, numbers,
boolean, or xml. -
Consuming Domino web service with JAXB encounters Method Response element
I am able to consume a Domino R7 (Axis) web service with JAX-WS using Dispatch<SOAPMessage>. When I try using Dispatch<Object> however, JAXB throws an exception because it encounters an unexpected tag.
The XML from the web service looks like this:
<Envelope>
<Body>
<WebServiceMethodResponse>
<WebServiceMethodReturn>
The meaning of life
</WebServiceMethodReturn>
</WebServiceMethodResponse>
</Body>
</Envelope>With Dispatch<SOAPMessage>, I can get to the meaning of life quickly using SOAPBody.getElementsByTagName( "WebServiceMethodReturn" ) but with Dispatch<Object>, it appears I must also create a class for the WebServiceMethodResponse element to make JAXB happy. I don't see this happening in other people's examples. Has the Return-element-within-Response-element design been eliminated in pure JAX-WS web services, or is this something that only IBM does?In case anyone's search leads them here, I've posted the solution at:
*[http://www.pby.com/general.nsf/webarticles/dominowebservice01]*
It is an exhaustive article (not "Hello World"!) that goes through several versions of the web service and client - hopefully explaining all+ pieces of the puzzle:
~ web service code,
~ WSDLs
~ schema
~ thoroughly-documented clients that do and do not use JAXB
~ ... that use generated artifacts
~ ... that customize existing POJOs
~ the SOAP messages generated in each direction
~ the necessary JAXB annotations
~ explanations of how the code works
~ explanations of how namespaces affect the code
~ on and on and on...
My constant goal was to write an uncomplicated solution that uses as few artifacts (two) and annotations as possible. The end result is a small, fast JAX-WS 2.0 client that uses JAXB to invoke and consume a secured Domino 7 (1.4.2 JVM + AXIS) web service, using RPC/literal SOAP messages. -
Consuming a web service with an applet...
Hi, Ive created an applet in netbeans 5.5, which consumes a web service - it works 100% "run file" in the ide, but when i look at it via web browser, it seems the webservice object cannot be instantiated. I'm guessing I need to somehow include jax-ws objects in my deployment, but how do I do this? - I'm a little out of my depth here, so please explain thoroughly
ThanksHi,
We encountered problems when consuming a foreign WS. It seems to be that RPC style WSDL isn't supported by the WAS 6.4 WS proxy. An interesting reading on this is
https://www.sdn.sap.com/irj/servlet/prt/portal/prtroot/com.sap.km.cm.docs/documents/a1-8-4/the difference between rpc and document style wsdl.article
Eddy -
Consuming a web service with a java client
hello
wanted to consume the following web service:
http://www.dataaccess.com/webservicesserver/numberconversion.wso
http://www.dataaccess.com/webservicesserver/numberconversion.wso?op=NumberToWords
so i used WSDL2Java to create client stubs n then followed it with a client program
public class XmethodsAccessor {
public static void main(String[] args) throws Exception{
org.apache.axis2.databinding.types.UnsignedLong x = new org.apache.axis2.databinding.types.UnsignedLong(10000L);
NumberConversionStub stub = new NumberConversionStub();
NumberConversionStub.NumberToWords request = new NumberConversionStub.NumberToWords();
request.setUbiNum(x);
NumberToWordsResponse response = stub.NumberToWords(request);
System.out.println("answer is : " + response.getNumberToWordsResult());
Upon running the program i get error
Exception in thread "main" org.apache.axis2.AxisFault: Connection reset
at org.apache.axis2.transport.http.CommonsHTTPTransportSender.invoke(CommonsHTTPTransportSender.java:221)
at org.apache.axis2.engine.AxisEngine.send(AxisEngine.java:452)
at org.apache.axis2.description.OutInAxisOperationClient.send(OutInAxisOperation.java:330)
at org.apache.axis2.description.OutInAxisOperationClient.execute(OutInAxisOperation.java:294)
at com.dataaccess.www.webservicesserver.NumberConversionStub.NumberToWords(NumberConversionStub.java:162)
at com.dataaccess.www.webservicesserver.XmethodsAccessor.main(XmethodsAccessor.java:19)
Caused by: org.apache.axis2.AxisFault: Connection reset
at org.apache.axis2.transport.http.CommonsHTTPTransportSender.writeMessageWithCommons(CommonsHTTPTransportSender.java:314)
at org.apache.axis2.transport.http.CommonsHTTPTransportSender.invoke(CommonsHTTPTransportSender.java:201)
... 5 more
Caused by: org.apache.axis2.AxisFault: Connection reset
at org.apache.axis2.transport.http.HTTPSender.sendViaPost(HTTPSender.java:179)
at org.apache.axis2.transport.http.HTTPSender.send(HTTPSender.java:73)
at org.apache.axis2.transport.http.CommonsHTTPTransportSender.writeMessageWithCommons(CommonsHTTPTransportSender.java:305)
... 6 more
Caused by: java.net.SocketException: Connection reset
at java.net.SocketInputStream.read(SocketInputStream.java:168)
at java.io.BufferedInputStream.fill(BufferedInputStream.java:218)
at java.io.BufferedInputStream.read(BufferedInputStream.java:235)
at org.apache.commons.httpclient.HttpParser.readRawLine(HttpParser.java:77)
at org.apache.commons.httpclient.HttpParser.readLine(HttpParser.java:105)
at org.apache.commons.httpclient.HttpConnection.readLine(HttpConnection.java:1115)
at org.apache.commons.httpclient.HttpMethodBase.readStatusLine(HttpMethodBase.java:1832)
at org.apache.commons.httpclient.HttpMethodBase.readResponse(HttpMethodBase.java:1590)
at org.apache.commons.httpclient.HttpMethodBase.execute(HttpMethodBase.java:995)
at org.apache.commons.httpclient.HttpMethodDirector.executeWithRetry(HttpMethodDirector.java:397)
at org.apache.commons.httpclient.HttpMethodDirector.executeMethod(HttpMethodDirector.java:170)
at org.apache.commons.httpclient.HttpClient.executeMethod(HttpClient.java:396)
at org.apache.commons.httpclient.HttpClient.executeMethod(HttpClient.java:346)
at org.apache.axis2.transport.http.AbstractHTTPSender.executeMethod(AbstractHTTPSender.java:558)
at org.apache.axis2.transport.http.HTTPSender.sendViaPost(HTTPSender.java:176)
... 8 more
Can any one please tell me what im doin wrong and why is it not working.
Thanks
PS: am using Eclipse 3.2/Axis2 Eclipse plugin .. there were no compilation errorsHi steve_224,
Would be extremely grateful if you could post the answer when you get a chance, have this problem too and haven't managed to resolve it yet...
Thanks in advance...
Kind regards,
DJ -
Problem with RESTful web service with header value
Hi,
I am on Apex 4.2.2 and Listener 2.1 and the listener is on WEblogic.
I succeeded to get a RESTful web service working in an application with no header to obtain a full set of data. The data set is very large, so I am now just trying to set up a web service to get a set of data based on a student ID.
I followed the examples shown in the RESTful web service module of SQL Workshop and set up a handler of this type:
https://ourweblogicserver/apex/bnr/ace/students/course_grades/{stid}
The test for this handler succeeded both for JSON output and CSV output in the Workshop test environment.
However, when I try it from a Web Service Reference that I created for my application following what looked like the same approach used on the example video, I get NO data back. If I put a 'stid' directly into a URL of a web browser and do the basic authentication I get the data!!
This is what I have for the Web service reference:
https://ourweblogicserver/apex/bnr/ace/students/course_grades/{stid}
Basic auth set to Yes -- and this is working -- I am able to authenticate
HTTP method Get
output format Text
no response Xpath
no response namespace
defaults for new record and parameter delimiter
NO REST input parameters
Output set for all the fields in the data set queried (same set of data as in my rest service which does not have any http header)
REST HTTP Header : Name stid
I there something I am missing. I am not sure how to troubleshoot this further.
PatHi,
I have posted a simple application with the RESTful reference:
http://apex.oracle.com/pls/apex/f?p=13758
I can give you full privileges on this so you can look at the WEB service reference. Shall I send to you separately for login user?
It is using the RESTful service: http://apex.oracle.com/pls/apex/nd_pat_miller/demo/employee/{deptno}
This RESTful service tests fine when I test from within the RESTful web service module of the Workspace.
I based this on the Video demo tutorial for RESTful web service that Oracle published for 4.2 release. The video seemed to exclude the {deptno} in the URL but when I try that, it doesn't work either.
This is the error I am getting when I run this on my Apex environment: (it, of course, will not run the web service in the apex.oracle.com environment)
class="statusMessage">Bad Request</span>
</h3>
</div>
</div>
<div id="xWhiteContentContainer" class="xContentWide">
<div class="xWhiteContent">
<div class="errorPage">
<p>
<ul class="reasons"><li class="badRequestReason"><span class="target" style="display:none;">uri</span><span class="reason">Request path contains unbound parameters: deptno</span></li>
</ul>Thanks,
Pat
Edited by: patfmnd on May 8, 2013 3:33 AM -
Consuming MapPoint Web Service with MX7
Can anyone offer any pointers for working with Microsoft's
MapPoint web service? I've searched around but haven't found any
usable information. My immediate concern is how to get my CF7
application to perform the Digest Authentication, but I'd also
welcome tips for any other obstacles that can be expected after
that.
Thanks,
JamesSo here's what I needed to do to get this to work with CF7:
1. Edit wwwroot/WEB-INF/client-config.wsdd to use
CommonsHTTPSender per the Tom Jordahl blog post (
http://tjordahl.blogspot.com/2007/03/apache-axis-and-commons-httpclient.html).
2. Put commons-httpclient-3.1.jar and commons-codec-1.3.jar
into CFusionMX7/lib. These jars are available from the Apache
Commons project (
http://commons.apache.org/).
3. Add a web service entry in the CF Administrator. For the
sample code to work, use the name MapPoint. The URL is the normal
staging wsdl (
http://staging.mappoint.net/standard-30/mappoint.wsdl),
and the username and password are the ones issued by Microsoft for
your mappoint account.
The CF application service needs to be restarted to pick up
the apache commons jars. At this point, the sample code should be
runnable. It displays an input field which you can type an address
into (e.g. "1 microsoft way, redmond, wa"), and displays a map when
submitted. The code is fairly simplified and ignores things like
the possibility of multiple find results.
Since this is entirely done in CFML, some of the helper
objects used as function inputs need to be built up as CF structs
mirroring the data members of the java objects. This is problematic
in creating a MapView object because there's no way to indicate
which of the derived classes (ViewByHeightWidth, ViewByScale, etc)
you intend. My workaround was to use a view object returned by
GetBestMapView().
Hope this will be helpful to somebody.
James -
Consume SAP Web service with parameters in Forms using JS
Hi All
I am trying to execute a call to a webservice using javascript from my adobe form .
I can get this working by creating a DataConnection and mapping input fields on the form to the Request structure (XFA method) .
But when I use JS, i cannot get it working while using paramters.
Here is my sample code.
var cUrl = http://XXXXXXX:XXXX.........;
var service = SOAP.connect(cUrl);
var inputVal = {IvMatnr:MATNR.rawValue, Ivlgort:LGORT.rawValue, IvWerks:WERKS.rawValue};
var result = service.ZppTestGetBatchNumbers(inputVal);
//xfa.host.messageBox("Success");
txtResult.rawValue = result;
xfa.connectionSet.<DataConnectionName>.execute(0);
Any help would be greatly appreciated
Regards,
ArMenHi,
Instead of using parameters, I am now using hidden text fields on the foem which I have bound to the web service call.
This is a work around that is working fine for me..
Cheers.. -
Calling Web Service with SOAP header from BPEL
Hi,
I am calling a web service (with header information) from BPEL. In the Invoke activity, i created a header variable to pass the header information.
But, when i test the BPEL service, invoke activity fails because the header information is not being passed.
Below is the error message (copied from clipboard).
+<messages><input><Invoke_1_getsubinfo_InputVariable><part xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" name="parameters"><getsubinfoElement xmlns="http://ws/its/tabs/webservices/SingleRowWS/SingleRowWS.wsdl">+
+<pSubnoin>+
+<insubno>12345678</insubno>+
+</pSubnoin>+
+</getsubinfoElement>+
+</part></Invoke_1_getsubinfo_InputVariable></input><fault><bindingFault xmlns="http://schemas.oracle.com/bpel/extension"><part name="summary"><summary>exception on JaxRpc invoke:+
start fault message:+
Internal Server Error (Caught exception while handling request: javax.xml.rpc.JAXRPCException: Not authenticated user)+
*:end fault message*</summary>
+</part></bindingFault></fault></messages>+
As said, no header information is visible in the Invoke activity.
Please provide help for the above issue.
-MJHello Patrick,
Thanks for the response. I am using normal assign activity to assign values to the header variable as shown below. HeadMT is the header variable which is passed in the invoke activity.
+<assign name="Assign_Header">+
+<copy>+
+<from expression="'tkl12'"/>+
+<to query="/ns1:LOGIN_INFO/ns1:USER_NAME" variable="*HeadMT*"+
part="payload"/>
+</copy>+
+<copy>+
+<from expression="'tkl123'"/>+
+<to query="/ns1:LOGIN_INFO/ns1:PASSWORD" variable="*HeadMT*"+
part="payload"/>
+</copy>+
+<copy>+
+<from expression="'TKL'"/>+
+<to query="/ns1:LOGIN_INFO/ns1:CHANNEL_ID" variable="*HeadMT*"+
part="payload"/>
+</copy>+
+</assign>+
The expected input by the web service is as below with the header information highlighted.
+<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://ws/webservices/RowWS/RowWS.wsdl">+
+*<soap:Header>*+
+*<ns1:LOGIN_INFO>*+
+*<ns1:USERNAME>tkl12</ns1:USERNAME>*+
+*<ns1:PASSWORD>tkl123</ns1:PASSWORD>*+
+*<ns1:CHANNEL_ID>TKL</ns1:CHANNEL_ID>*+
+*</ns1:LOGIN_INFO>*+
+*</soap:Header>*+
+<soap:Body>+
+<ns1:substatusElement>+
+<ns1:pInparam>+
+<ns1:insubno>7674988</ns1:insubno>+
+</ns1:pInparam>+
+</ns1:substatusElement>+
+</soap:Body>+
+</soap:Envelope>+ -
Hi expert!!!
I have a problem!!
I need consume a web service with ssl autentification in PI to call from SAP.
That web services is of AFIP (Argentina ).
i don`t know how do that!!
How and where configure the certificate for signature??
Thxz in advance!!!
Sorry my bad english..thxz for all!!!!1
I will be to resume my problem
i need sign xml file with a certificate!!1
i have xml file build in ABAP, i try do with openssl in windows or unix to sign with private key file and certificate file .Crt
that generate a new file with sign, i put this in other web service and work....
i need do that in abap or pi..... i abap i could create xml file, but i can`t execute open ssl.....
thxz for u help!!!
Maybe you are looking for
-
Purchase order does not contain a confirmation control key
Hi expert I have not set any confirmation control key in Purchasare order, still at the Migo, system is showing error at depot. I have check the same thing with manufacturing plant, system dont show me any error. Regard Nabil
-
Hi all, I'm having a frustrating problem trying to set up the wireless printing between my Macbook Pro 13" to my HP C4780 printer. I had no problem installing and configuring this before on my previous computer, a Macbook. However, when I got my new
-
after recording text using the Dragon dictation app, it can be copied to the iOS systme clipboard for use in any app, how does the user access the clipboard to retrive this information if it is no longer on the screen?
-
Is there a way to print a list of images in an album. Not the images themselves, but basically a printout of what you get in the list view of a project?
-
Mac OS X 10.9 filter failed P4014
I have a Mac that before installing Mavericks (10.9) printed fine (as did other Macs used before) to a Laserjet P4014 used via an SMB server. The machine is configured to print only via the server, so I can't print directly to it. It now failes to pr