Acessing Raw content through SOAP lookup
Hi All,
I have been using Bhavesh's Blog about SOAP Lookup
/people/bhavesh.kantilal/blog/2006/11/20/webservice-calls-from-a-user-defined-function
I have been able to make successful conenction and See the payload. But we have session ID, thats part of Raw Header response. Can some one help me how to access Raw header data?
Thanks for your support
-Kulwant
Edited by: Kulwant Bhatia on Feb 14, 2011 5:17 PM
Hi Sabarish,
Thanks for replying.
I tried option of Keep Headers, but no use. Mine is SOAP Receiver Com Channel.
May be i didn't put my question correctly. What i need to access is Set-Cookie Parameter from Response. I am not getting this at all back
HTTP/1.1 200 OK
Date: Tue, 15 Feb 2011 15:49:29 GMT
Server: SecureTransport/4.9.2
Set-Cookie: FDX=75583253754e37667433656373764c683349507135513d3d; path=/; Secure
Accept-Ranges: bytes
Expires: Thu, 01 Jan 1970 00:00:00 GMT
Features: CHPWD;RTCK;STCK;ASC;DNDISP
Content-Length: 31
Content-Type: text/plain; charset=UTF-8
Please suggest.
Another thing. I am doing this to Connect to a MFT server. Which requires first to Get Session-Cookie and then use this session cookie in it next action. Do you have any suggestion for connection PI to MFT servers
Edited by: Kulwant Bhatia on Feb 15, 2011 4:51 PM
Similar Messages
-
How to create a text file or XML file and add content through code into it...
Hi Everyone,
How to create a text file and add content through the code to the text file eform javascript ......orelse can we create a text file in life cycle designer...
Else say how to create a new XML file through the code and how some content like Example "Hello World".You can create a text file as a file attachment (data object) using the doc.createDataObject and doc.setDataObjectContents:
http://livedocs.adobe.com/acrobat_sdk/9.1/Acrobat9_1_HTMLHelp/JS_API_AcroJS.88.450.html
http://livedocs.adobe.com/acrobat_sdk/9.1/Acrobat9_1_HTMLHelp/JS_API_AcroJS.88.528.html
You can then export the file with the doc.exportDataObject method:
http://livedocs.adobe.com/acrobat_sdk/9.1/Acrobat9_1_HTMLHelp/JS_API_AcroJS.88.463.html
This won't work with Reader if it hasn't been given the file attachment usage right with LiveCycle Reader Extensions. -
Soap lookup in PI7.31 message mapping
Hi All,
I have a soap lookup created in UDF in PI message mapping
I am taking material id from the source structure and use it as input parameter for the lookup webservice
Here is the UDF code which takes material number and returns the internal id
AbstractTrace trace = container.getTrace();
String matintid = "";
try {
//instance the channel to invoke the service.
Channel channel = LookupService.getChannel("BS_Bus","CC_SearchLookup");
SystemAccessor accessor = LookupService.getSystemAccessor(channel);
// The Request message in XML. THIS IS THE LOOKUP SERVICE
String SOAPxml = "<?xml version=\"1.0\" encoding=\"UTF-8\"?><searchTM_MATERIAL>xmlns:ns0=\"MDM_MAT_Search_MDM"><query><criteria><fTX_MATERIAL><constraint><value>"
+a
+ "</value><expressionOperator>equals</expressionOperator></constraint></fTX_MATERIAL></criteria></query><reposInfo><repositoryName>REP_MATERIALS</repositoryName><serverName>mdm6765</serverName></reposInfo></searchTM_MATERIAL>";
InputStream inputStream =new ByteArrayInputStream(SOAPxml.getBytes());
XmlPayload payload = LookupService.getXmlPayload(inputStream);
Payload SOAPOutPayload = null;
//The response will be a Payload. Parse this to get the response field out.
SOAPOutPayload = accessor.call(payload);
/* Parse the SOAPPayload to get the SOAP Response back. */
InputStream inp = SOAPOutPayload.getContent();
DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
/* Create DOM structure from input XML */
DocumentBuilder builder = factory.newDocumentBuilder();
Document document = builder.parse(inp);
NodeList matlist = document.getElementsByTagName("tM_MATERIAL");
Element material = (Element) matlist.item(0);
NodeList recidlist = material.getElementsByTagName("recordIdentification");
Element recidnode = (Element)recidlist.item(0);
matintid = recidnode.getNodeValue();
trace.addInfo("matnid is" + matintid);
} catch (Exception e) {
trace.addWarning("Error" + e); }
trace.addInfo("Service XXX success executed");
return matintid;
This is giving a java null point error
Errorjava.lang.NullPointerException: while trying to invoke the method org.w3c.dom.Element.getElementsByTagName(java.lang.String) of a null object loaded from a local variable at slot 16
Any idea whats going on? I am able to get response for the webservice using SOAP UI
And here is the soap input and output in SOAP UI execution
Input
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:urn="urn:MDM_MAT_Search_MDM" xmlns:urn1="urn:com.sap.mdm.ws.beans.mdt_mat_search_mdm_in" xmlns:urn2="urn:com.sap.mdm.ws.beans" xmlns:urn3="urn:com.sap.mdm.core.beans">
<soapenv:Header/>
<soapenv:Body>
<urn:searchTM_MATERIAL>
<urn:query>
<!--Optional:-->
<urn1:criteria>
<!--Optional:-->
<urn1:fTX_MATERIAL>
<urn2:constraint>
<!--Optional:-->
<urn2:value>12345</urn2:value>
<!--Optional:-->
<urn2:expressionOperator>equals</urn2:expressionOperator>
</urn2:constraint>
</urn1:fTX_MATERIAL>
</urn1:criteria>
</urn:query>
<urn:reposInfo>
<urn3:repositoryName>REP_MATERIALS</urn3:repositoryName>
<urn3:serverName>mdm1234</urn3:serverName>
</urn:reposInfo>
</urn:searchTM_MATERIAL>
</soapenv:Body>
</soapenv:Envelope>
Output:
<SOAP-ENV:Envelope xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<SOAP-ENV:Body xmlns:rpl="urn:MDM_MAT_Search_MDM">
<rpl:searchTM_MATERIALResponse xmlns:rn0="java:sap/standard" xmlns:rn1="urn:com.sap.mdm.ws.beans" xmlns:rn2="http://schemas.xmlsoap.org/soap/encoding/" xmlns:rn3="urn:com.sap.mdm.core.base" xmlns:rn4="urn:com.sap.mdm.ws.beans.mdt_mat_search_mdm_in" xmlns:rn5="urn:com.sap.mdm.core.beans">
<rpl:Response>
<rn1:executionStatus>
<rn1:status>OK</rn1:status>
<rn1:description>Search/Retrieve done successfully</rn1:description>
<rn1:dataObject>Records 1..1 of 1 found</rn1:dataObject>
</rn1:executionStatus>
<rn4:tM_MATERIAL>
<rn4:fTX_MATERIAL>12345</rn4:fTX_MATERIAL>
<rn4:recordIdentification>
<rn4:internalID>1267</rn4:internalID>
</rn4:recordIdentification>
</rn4:tM_MATERIAL>
</rpl:Response>
</rpl:searchTM_MATERIALResponse>
Thx
mikeHi Mike,
What I suspect is, you get a null pointer exception because the XML tag name which you are trying to retrieve, has a namespace. Could you please instead try to use:
getElementsByTagNameNS(java.lang.String namespaceURI, java.lang.String localName)
Returns a NodeList of all the Elements with a given local name and namespace URI in document order.
Let us know if it works.
Regards,
Shweta -
I have a Nikon d610 and am using PS CS6. I am unable to download my raw files through Bridge on my mac. I have downloaded the most recent Camera Raw files - 8.7.1 - what should I do next.
The D610 needs ACR 8.3 so you are easily covered there. I am not entirely clear on the process you are using the bring the files onto your hard drive. The safest way is to simply bring all the NEF files into a folder on your hard drive, then find them with bridge and open from there.
If still stuck, open Photoshop, and go Help > About plugins > Camera RAW and check that 8.7 installed OK. -
Update the content through Rich Text Editor
dear all,
Once i enter the content through the Rich Text Editor data are inside the datebase, but when want to update the things the data are not coming inside the Rich Text Editor, b'caz single quote, double quote,<> symbol is coming,Have you consider use Site Studio + Content Presenter?
http://docs.oracle.com/cd/E17904_01/webcenter.1111/e10149/content_cp.htm
http://george.maggessy.com/2012/05/inline-editing-in-content-presenter-for_10.html
[]'s -
Dear experts,
The scenario is file to file with a soap lookup. certain records are inserted using lookup in mapping.
The records which can not be inserted, along with the error code from the webservice response has to be sent to a database table. Please suggest the options .
Thanks ,
Ajuhi,
generelly lookup is used to find the value which was not present in the sender structure ,and u need to find that, based on some field value in sender side from another system/server.
in youe case make sych soap message interface.
generate the soap request which used to fatch the value from other system .
if system not get any value for that it will return the error message.
map the responce message with the requird target field value.
please find the link for jdbc lookup
/people/siva.maranani/blog/2005/08/23/lookup146s-in-xi-made-simpler
regards,
navneet -
SOAP Lookup with username and password
I am doing a lookup using a Java UDF from PI message mapping using a SOAP receiver channel by passing a username and password to get a value from a webservice. This is passed to a field in the target side. Everything works fine.
But I want to avoid hardcoding the username and password sent in the XML for the lookup in the UDF. Anyone has any suggestions?
Thank you.Hi Param,
Are you passing the userid and password in url of SOAP Lookup? You can try using value mapping to get the password for a given username..
Else maintain it in SOAP channels and for each user id try selecting a different SOAP channel.. HEre also you can use value mapping for userid = soapchannel relationship.
Regards
Suraj -
Hi,
I am trying to use the SOAP lookup within an UDF. The example in Bhavesh blog worked great and when I plug in my web service lookup I have run into all sorts of issues.
My response message from the webservice looks like this:
<env:Envelope xmlns:env="http://schemas.xmlsoap.org/soap/envelope/">
<env:Header/>
<env:Body>
<GetMappedToValueByIDOutput xmlns:ns1="http://www.abc.com/mappedvalue/output" xmlns=" http://www.abc.com/mappedvalue/output ">
<ns1:OutputData>
<ns1:MapValue>This is the mapping lookup result </ns1:MapValue>
<ns1:MapID/>
</ns1:OutputData>
</GetMappedToValueByIDOutput>
</env:Body>
</env:Envelope>
But I am getting the following error after I plug in the UDF into the message mapping and testing with the integration mapping.
Parsing Error: org.xml.sax.SAXParseException: The markup in the document preceding the root element must be well-formed.'. Cause Exception: 'java.io.IOException: Parsing Error: org.xml.sax.SAXParseException: The markup in the document preceding the root element must be well-formed.'.
Anything that I am missing here?
TeresaHi Teresa,
Check this links
http://commons.apache.org/jelly/apidocs/org/apache/commons/jelly/parser/XMLParser.html (for checking your code)
http://wiki.sdn.sap.com/wiki/display/Snippets/JavaSAXParser
http://www.sdn.sap.com/irj/scn/weblogs;jsessionid=(J2EE3417200)ID0472795050DB10618552826614657928End?blog=/pub/wlg/9618
Regards
Ramesh -
SOAP Lookup in PO 7.30 Single Stack.
Hi,
I am creating a scenario from HTTP to File . In between Message Mapping has SOAP Lookup .
But While I executing the Sceanrio, I am facing some error .
Now While reading lots of Blogs over Internet , Some of them pointed towards Creating a Dummy ICO (mandatory in PI 7.30 ) for SOAP Lookup.
So Now my Question are :
1. Why are we creating this Dummy ICO ?? what is the purpose ??
2. How do we create it ?? - Need to know abt Sender Service Interface , Sender Communication channel , Receiver Service Interface ??? What would be these values while creating a Dummy ICO ???
Regards
PSHi, the dummy ICO is actually not needed for the lookup, but may fix a bug as stated in your previous thread http://scn.sap.com/message/14054811#14054811 as well as it is meant to test and verify that your SOAP receiver actually works.
Did you follow SAP Help Using the Lookup API in a Message Mapping, especially using a mapping parameter of type Adapter and using the parameter as demonstrated in Implementing Lookups Using SystemAccessor?
I see in your previous thread Error while SOAP LookUp in PI 7.3 Single Stack. that you hardcoded the channel name and business component to retrieve the channel
Channel channel = LookupService.getChannel("BC_Successfactors_Two_D","CC_SOAP_Receive_SessionCreate");
Implement as recommended by SAP Help (above links) may be it solves your problem. -
Viewing SOAP Lookup Payloads in PI 7.1
Hi All,
I'm performing a SOAP lookup in my message mapping using a UDF and the SystemAccessor api.
However, in RWB I'm unable to view the payload under the SOAP channel.
I get a 404 resource not found error when i click on the payload link.
Here is what I've tried so far:
1) Set Logging_Sync to 1 in SXMB_ADM for Runtime.
2) Set messaging.syncMessageRemover.removeBody to false in NWA.
What am I missing?
Thanks,
HarshHi Shabarish!
How are things?
Under conversions I see only JDBC and RFC Lookups!
Am I missing something?
/people/jin.shin/blog/2008/02/15/sap-pi-71-mapping-enhancements-series-graphical-support-for-jdbc-and-rfc-lookups
Thanks,
Harsh -
Connection issue between Data service(DQ) to PI through SOAP adapter.
Hi Guys,
We are trying to connect the data services(DQ) with SAP PI through SOAP adapter. I provided the wsdl file to data services team and they are trying to send messages to PI. Looks like the messages are showing successful in there system, but not showing up in PI system.
I tried the same file using xmlspy and PI receiving the messages from XMLSPY. We are wondering whats going wrong?
Any idea about this data services system? Is there any other better way to receive messages to PI apart from webservices?
PS: Connection is working fine from PI to DQ thorugh SOAP adapter.
Thanks
Deepthi.>>>> We are trying to connect the data services(DQ) with SAP PI through SOAP adapter. I provided the wsdl file to data services team and they are trying to send messages to PI. Looks like the messages are showing successful in there system, but not showing up in PI system.
You are using soap sender adapter ... Hosting webservices and DQ team is able to access your webservice. Also using XMLSPY you are able to see pi messages.
If you are using advance adapter engine, Please check only in the RWB -> adapter engine.
If you are not using AAE, check in both SXMB_MONI and RWB for the wide range... Something problem with filter query in your checking...
Note since XMLSPY testing goes through Pi and able to monitor means you dont need another webservice client tool.
Solution:
use tcp monitor to monitor the soap message ... It is better option
/people/stefan.grube/blog/2007/03/29/troubleshooting-soap-http-and-mail-adapter-scenarios-with-tcpgateway -
Error while connecting to external server through SOAP/HTTP adapter
Hi,
we are trying to connect to the external server through SOAP adapter. The scenario is proxy to SOAP asynchronous scenario.
We are getting following error in Communication channel monitoring:
*Message processing failed. Cause: com.sap.aii.af.ra.ms.api.RecoverableException: SOAP: response message contains an error Application/UNKNOWN/APPLICATION_ERROR - application fault*
We also tried HTTP adapter in the receiver side. But it is giving red flag in SXMB_MONI with following error:
<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
- <!-- Call Adapter
-->
- <SAP:Error xmlns:SAP="http://sap.com/xi/XI/Message/30" xmlns:SOAP="http://schemas.xmlsoap.org/soap/envelope/" SOAP:mustUnderstand="">
<SAP:Category>XIAdapter</SAP:Category>
<SAP:Code area="PLAINHTTP_ADAPTER">ATTRIBUTE_SERVER</SAP:Code>
<SAP:P1>500</SAP:P1>
<SAP:P2>Internal Server Error</SAP:P2>
<SAP:P3>Internal Server Error</SAP:P3>
<SAP:P4 />
<SAP:AdditionalText />
<SAP:ApplicationFaultMessage namespace="" />
<SAP:Stack>HTTP server code 500 reason Internal Server Error explanation Internal Server Error</SAP:Stack>
<SAP:Retry>M</SAP:Retry>
</SAP:Error>
Please help.
Thanks in advance.
Regards,
sriparnaMake sure that the receiver webservice is up and running and in a state to receive the external calls. Confirm if the data you send is as per the requirement of the webservice and they haven't changed anything at their end.
Regards,
Prateek -
I have made .indd file with some form fields in it, now haw to read these fields and manipulate its content through script in indesign
It's probably best to ask in the InDesign Scripting forum:
InDesign Scripting -
If the end user doesnt have acess to go through session
if the end user doesnt have acess to go through sessions , how could he know the errrors occured in his process. can any one sugest me an answer...
and the data transfer shld be done through session method only, we r not using call transaction......
thank u
with regards.........there is no other option expect that he should either have the access to check the sessions or else someone who runs the sessions need to get the error log and mail to the user....
also just u can let know the queue id generated for the session and using program RSBDC_ANALYSE u can check the logs. -
Read SAP table content through VBA why Chinese characters display as '#'
Hi ,
I meet a problem . I want to get sap table content through RFC in excel VBA. now i have solve it . It can got table content . when i change a new system , it can get table content ,but chinese characters display as '#' ( it works well in sap 4.6c Chinese characters can display , when upgrate to ecc 6.0 it can't works well )
some VBA code as below :
Set ofun = CreateObject("SAP.FUNCTIONS") ' create a FUNCTION object
' Connect has create and conneted to SAP system
Set ofun.Connection = Connect ' "connect"has create connetion sucess
Set func = ofun.Add("RFC_READ_TABLE") ' set RFC object to call function
func.Exports("QUERY_TABLE") = "T179T" ' set table name for get table content
func.Tables("OPTIONS").DATA = "SPRAS = 'ZH'" ' set condition of language of 'ZH'
If func.Call = True Then
Set oline = func.Tables.Item("DATA") ' set table content which get from table T179T to object "oline"
endif
who can give me some suggestion about this ? Thanks .
Edited by: Chris Xu on Oct 31, 2008 6:51 AMHi Chirs,
I am facing the same problem but i am using c sharp and this is a windows application.
I tried to change the CodePage attribute by simply setting connection.codepage = "8040";
But i get an exception.
attempted to read or write protected memory.
I cant seem to change this. What should i do. Also do we have to set this at the point of connecting to the Sap system or when i'm calling the RFC. I tried both instances but none worked. Could you please help me out.
i am using VS 2008.
Thanks,
Yohan
Maybe you are looking for
-
ITunes Crashing When I Log Out
I recently did a complete rebuild of Windows 7 (64 bit) and have been in the process of adding all my multimedia back in to the system from my NAS (network attached storage). Everything was going swimmingly well until I got to my Apple products (surp
-
Can't start IntegratedWeblogicServer in JDeveloper
Hello all, Installed v11.1.2.3.0 of jDeveloper on Win 7 machine. Everything installed normally, but when I start IntegratedWeblogicServer the following error comes up: Starting WLS with line: D:\Oracle\MIDDLE~1\JDK160~1\bin\java -client -Xms256m -Xmx
-
How to set logging on ISE not to UTC timezone
Hello everyone, I was wondering if there's a way to change the way ISE logs authentications in terms of timezone. I found that it is UTC even if I changed the timezone to my local timezone (PST8PDT).
-
Dear All, end user is able to do the 101 movement goods receipt even before confirming the production order. how to prevent this means with out confirmation of the order system should not allow for goods receipt. I Know that it can be done through cr
-
ITEM COST HISTORY에서MMT의 PRIOR COSTED HISTORY를 UPDATE해도 PRIOR QTY가 안 바뀔때
제품 : MFG_CST 작성날짜 : 2003-12-02 ITEM COST HISTORY에서 MMT의 PRIOR COSTED HISTORY를 UPDATE해도 PRIOR QTY가 안 바뀔때 ========================================================================= PURPOSE item cost history에서 아무리 mmt의 prior costed history를 upda해도 prior