UCM - calling a web service when a revision is added
I am new to UCM. We have a web service written in C#. When a revision is added to a content, I want to be notified via this web service by using ContentID. I am not quite sure how to call a web service from UCM.
Can anybody give me some ideas?
Thanks
On My Oracle Support website
Sample Soap Requests for Use in UCM 11g Calls to GenericSoapService (GenericSoapPort) (Doc ID 1334471.1)
and
Note.1334114.1 Using Fusion Middleware Enterprise Manager to Test UCM Web Service GenericSoapService (GenericSoapPort)
Similar Messages
-
How can I call a web service via Adobe Reader XI?
Hi all,
I have created a document using LiveCycle (Trial) to get something from my custom web service, using Adobe Pro to open the file and its success to call the web service when clicking the call button, however, when I try to do the same thing using Adobe Reader XI, seems not work. Please help!
Best Regards,
Black LeongThe only way it can work with Reader is if the document is Reader-enabled with LiveCycle Reader Extensions or the similar product from Datalogics. Acrobat is not able to add the corresponding usage right.
-
DCA-40000: internal error when calling a web service
Hello,
I would like to call a web service in Oracle UCM with basic authentication (CheckInUniversal). In JDeveloper 11.1.1.2 I can specify username and password for the WS at design time and the JSPX runs fine.
Now I have added some piece of code into a managed bean (CheckInBean) to use a specific username and password at runtime. When I run the page I get a DCA-40000 with the following error stack:
<Utils><buildFacesMessage> ADF: Adding the following JSF error message: The Web Service call failed due to an internal error.
oracle.adf.model.adapter.AdapterException: DCA-40000: The Web Service call failed due to an internal error.
at oracle.adfinternal.model.adapter.webservice.WSDataControl.invokeOperation(WSDataControl.java:270)
at oracle.adf.model.bean.DCBeanDataControl.invokeMethod(DCBeanDataControl.java:430)
at oracle.adf.model.binding.DCInvokeMethod.callMethod(DCInvokeMethod.java:257)
at oracle.jbo.uicli.binding.JUCtrlActionBinding.doIt(JUCtrlActionBinding.java:1625)
at oracle.adf.model.binding.DCDataControl.invokeOperation(DCDataControl.java:2141)
at oracle.adf.model.bean.DCBeanDataControl.invokeOperation(DCBeanDataControl.java:467)
at oracle.adf.model.adapter.AdapterDCService.invokeOperation(AdapterDCService.java:307)
at oracle.jbo.uicli.binding.JUCtrlActionBinding.invoke(JUCtrlActionBinding.java:730)
at oracle.adf.controller.v2.lifecycle.PageLifecycleImpl.executeEvent(PageLifecycleImpl.java:394)
at oracle.adfinternal.view.faces.model.binding.FacesCtrlActionBinding._execute(FacesCtrlActionBinding.java:252)
at oracle.adfinternal.view.faces.model.binding.FacesCtrlActionBinding.execute(FacesCtrlActionBinding.java:210)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at com.sun.el.parser.AstValue.invoke(AstValue.java:157)
at com.sun.el.MethodExpressionImpl.invoke(MethodExpressionImpl.java:283)
at integration.view.CheckInBean.execute(CheckInBean.java:134)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at com.sun.el.parser.AstValue.invoke(AstValue.java:157)
at com.sun.el.MethodExpressionImpl.invoke(MethodExpressionImpl.java:283)
at org.apache.myfaces.trinidadinternal.taglib.util.MethodExpressionMethodBinding.invoke(MethodExpressionMethodBinding.java:53)
at org.apache.myfaces.trinidad.component.UIXComponentBase.broadcastToMethodBinding(UIXComponentBase.java:1245)
at org.apache.myfaces.trinidad.component.UIXCommand.broadcast(UIXCommand.java:183)
at oracle.adf.view.rich.component.fragment.UIXRegion.broadcast(UIXRegion.java:148)
at oracle.adf.view.rich.component.fragment.ContextSwitchingComponent$1.run(ContextSwitchingComponent.java:90)
at oracle.adf.view.rich.component.fragment.ContextSwitchingComponent._processPhase(ContextSwitchingComponent.java:309)
at oracle.adf.view.rich.component.fragment.ContextSwitchingComponent.broadcast(ContextSwitchingComponent.java:94)
at oracle.adf.view.rich.component.fragment.UIXInclude.broadcast(UIXInclude.java:102)
at oracle.adf.view.rich.component.fragment.ContextSwitchingComponent$1.run(ContextSwitchingComponent.java:90)
at oracle.adf.view.rich.component.fragment.ContextSwitchingComponent._processPhase(ContextSwitchingComponent.java:309)
at oracle.adf.view.rich.component.fragment.ContextSwitchingComponent.broadcast(ContextSwitchingComponent.java:94)
at oracle.adf.view.rich.component.fragment.UIXInclude.broadcast(UIXInclude.java:96)
at oracle.adfinternal.view.faces.lifecycle.LifecycleImpl.broadcastEvents(LifecycleImpl.java:812)
at oracle.adfinternal.view.faces.lifecycle.LifecycleImpl._executePhase(LifecycleImpl.java:292)
at oracle.adfinternal.view.faces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:177)
at javax.faces.webapp.FacesServlet.service(FacesServlet.java:265)
at weblogic.servlet.internal.StubSecurityHelper$ServletServiceAction.run(StubSecurityHelper.java:227)
at weblogic.servlet.internal.StubSecurityHelper.invokeServlet(StubSecurityHelper.java:125)
at weblogic.servlet.internal.ServletStubImpl.execute(ServletStubImpl.java:292)
at weblogic.servlet.internal.TailFilter.doFilter(TailFilter.java:26)
at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:56)
at oracle.adf.model.servlet.ADFBindingFilter.doFilter(ADFBindingFilter.java:191)
at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:56)
at oracle.adfinternal.view.faces.webapp.rich.RegistrationFilter.doFilter(RegistrationFilter.java:97)
at org.apache.myfaces.trinidadinternal.webapp.TrinidadFilterImpl$FilterListChain.doFilter(TrinidadFilterImpl.java:420)
at oracle.adfinternal.view.faces.activedata.AdsFilter.doFilter(AdsFilter.java:60)
at org.apache.myfaces.trinidadinternal.webapp.TrinidadFilterImpl$FilterListChain.doFilter(TrinidadFilterImpl.java:420)
at org.apache.myfaces.trinidadinternal.webapp.TrinidadFilterImpl._doFilterImpl(TrinidadFilterImpl.java:247)
at org.apache.myfaces.trinidadinternal.webapp.TrinidadFilterImpl.doFilter(TrinidadFilterImpl.java:157)
at org.apache.myfaces.trinidad.webapp.TrinidadFilter.doFilter(TrinidadFilter.java:92)
at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:56)
at oracle.security.jps.ee.http.JpsAbsFilter$1.run(JpsAbsFilter.java:94)
at java.security.AccessController.doPrivileged(Native Method)
at oracle.security.jps.util.JpsSubject.doAsPrivileged(JpsSubject.java:313)
at oracle.security.jps.ee.util.JpsPlatformUtil.runJaasMode(JpsPlatformUtil.java:413)
at oracle.security.jps.ee.http.JpsAbsFilter.doFilter(JpsAbsFilter.java:138)
at oracle.security.jps.ee.http.JpsFilter.doFilter(JpsFilter.java:70)
at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:56)
at oracle.adf.library.webapp.LibraryFilter.doFilter(LibraryFilter.java:159)
at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:56)
at oracle.dms.wls.DMSServletFilter.doFilter(DMSServletFilter.java:326)
at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:56)
at weblogic.servlet.internal.RequestEventsFilter.doFilter(RequestEventsFilter.java:27)
at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:56)
at weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.run(WebAppServletContext.java:3592)
at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:321)
at weblogic.security.service.SecurityManager.runAs(SecurityManager.java:121)
at weblogic.servlet.internal.WebAppServletContext.securedExecute(WebAppServletContext.java:2202)
at weblogic.servlet.internal.WebAppServletContext.execute(WebAppServletContext.java:2108)
at weblogic.servlet.internal.ServletRequestImpl.run(ServletRequestImpl.java:1432)
at weblogic.work.ExecuteThread.execute(ExecuteThread.java:201)
at weblogic.work.ExecuteThread.run(ExecuteThread.java:173)
With debugger I found that it happens when the iterator CheckInUniversalResultIterator is called.
HTTP Analyzer shows that there are only empty SOAP messages sent to UCM but the correct values are present in the the bean.
Here is the code of the bean:
package integration.view;
import java.util.HashMap;
import java.io.*;
import java.util.Properties;
import javax.el.ELContext;
import javax.el.ExpressionFactory;
import javax.el.MethodExpression;
import javax.el.ValueExpression;
import javax.faces.application.Application;
import javax.faces.context.FacesContext;
import javax.faces.event.ActionEvent;
import oracle.adf.model.BindingContainer;
import oracle.adf.model.BindingContext;
import oracle.adf.model.binding.DCBindingContainer;
import oracle.adf.model.binding.DCDataControl;
import oracle.adfinternal.model.adapter.webservice.WSDataControl;
import oracle.adfinternal.model.adapter.webservice.security.SecurityModel;
// import oracle.binding.BindingContainer;
import oracle.webservices.model.Port;
public class CheckInBean extends SecurityModel {
private String fileName;
private String fileContent;
private HashMap primaryFile;
String mSavedCSFKey = null;
public CheckInBean() {
public void setFileName(String fileName) {
this.fileName = fileName; }
public String getFileName() {
return fileName;
public void setFileContent(String fileContent) {
this.fileContent = fileContent;
public String getFileContent() {
return fileContent;
public void setPrimaryFile(HashMap primaryFile) {
this.primaryFile = primaryFile;
public HashMap getPrimaryFile() throws IOException {
FacesContext facesCtx = FacesContext.getCurrentInstance();
Application app = facesCtx.getApplication();
ExpressionFactory elFactory = app.getExpressionFactory();
ELContext elContext = facesCtx.getELContext();
// gets the value from the managed bean
fileName = elFactory.createValueExpression(elContext, "#{pageFlowScope.ReportBean.reportName}", Object.class).getValue(elContext).toString();
System.out.println(fileName);
// puts the file name and the content into a hash map
HashMap hashMap = new HashMap();
hashMap.put("fileName",fileName);
System.out.println(fileName);
hashMap.put("fileContent",getFileInBytes(ReportBean.reportPath, fileName));
return hashMap;
private static byte[] getFileInBytes(String reportOutputPath, String fileName) throws IOException {
File file = new File(reportOutputPath,fileName);
System.out.println(reportOutputPath + "+" + fileName);
InputStream inputStream = new FileInputStream(file);
// Get the size of the file
long size = file.length();
System.out.println("Size of the file: "+ size);
// Check that size is not larger than Integer.MAX_VALUE
if (size > Integer.MAX_VALUE) {
System.out.println("File too large !!");
return null;
// Read the bytes into the byte array
byte[] byteArray = new byte[(int)size];
System.out.println("New Byte Array");
int offset = 0;
int byteRead = 0;
while ((offset < byteArray.length)
((byteRead=inputStream.read(byteArray, offset, byteArray.length-offset)) >= 0)){
byteRead = offset + byteRead;
System.out.println(byteRead);
inputStream.close();
return byteArray;
public void execute(ActionEvent aev) {
FacesContext fctx = FacesContext.getCurrentInstance();
Application app = fctx.getApplication();
ExpressionFactory expF = app.getExpressionFactory();
ValueExpression ve = expF.createValueExpression(fctx.getELContext(), "#{bindings}", DCBindingContainer.class);
DCBindingContainer cont = (DCBindingContainer)ve.getValue(fctx.getELContext());
DCDataControl dc = cont.findDataControl("CheckInECM");
if(dc.getAdaptedDC() instanceof WSDataControl)
WSDataControl wsdc = (WSDataControl)dc.getAdaptedDC();
wsdc.getProvider().setSecurityModel(this);
// execute the data control method, that was bound to this
// button's action listener.
MethodExpression me = expF.createMethodExpression(fctx.getELContext(),
"${bindings.CheckInUniversal.execute}", Object.class,
new Class[0]);
me.invoke(fctx.getELContext(), null);
// public BindingContainer getBindings() {
// return (BindingContainer)BindingContext.getCurrent().getCurrentBindingsEntry();
// override security properties for any policy on the current port
// before the method execution.
public void initSecurity(Port thisPort) {
super.initSecurity(thisPort);
System.out.println(thisPort.hashCode());
Properties callP = (Properties)this.getCallProperties(thisPort);
callP.put("javax.xml.ws.security.auth.username", "sysadmin");
callP.put("javax.xml.ws.security.auth.password", "welcome1");
mSavedCSFKey = (String)callP.remove("csf-key");
this.saveCallProperties(thisPort, callP);
// Restore the config at the end of the request.
public void clearSecurityParameters(Port thisPort) {
super.clearSecurityParameters(thisPort);
Properties callP = (Properties)this.getCallProperties(thisPort);
callP.remove("javax.xml.ws.security.auth.username");
callP.remove("javax.xml.ws.security.auth.password");
//put back the saved csf key as default...
callP.put("csf-key", mSavedCSFKey);
this.saveCallProperties(thisPort, callP);
}If you could enclose your code inside tag it will improve readability for us.
Anyways, first thing that I could think of is - what is the scope of your managed bean..? If its in request scope can you try changing it to higher scope level (session scope or page view scope).
regards,
~K -
Got error when calling a web service, "XMLParametersToComHashtable:LoadXML failed"
Hi, I'm using vs2012, c# and asp.net.
In my asp.net web form project I got the error at the LOC when I call the web service's Search method. What does this error mean and how do I fix this? Am I to use some type of reader or loader? The Search method returns a XMLNode type.
But I thought using InnerText should be fine but I'm still getting the error.
thank you.
var restApi = new someWebServices.restApi();
strParm1 = restApi.Login(XXXXXXXXXXX);
var rtnSrv = (restApi.Search(strParm1, strParm2, 1, -1, false, @"<![CDATA[<parameters><parameter name=""XXXXXXXXX"" value=""XXXXXXXXXXXXXXXXXXXXX""/></parameters>]]>")).InnerText;
Thank youThere is a Web service section in the ASP.NET forum.
http://forums.asp.net/ -
Error when calling Java Web Services from ABAP.
Hello experts:
In my project, I will call Java Web Services with ABAP coding. With WSDL, I generated a proxy class and created a HTTP connection (t-code: SM59) and a logical port (t-code:lpconfig) for this proxy class. But when running, I would receive the folllowing errors:
SOAP:1.023 SRT: Processing error in Internet Communication Framework: ("ICF Error when receiving the response: HTTP COMMUNICATION FAILURE")
If I used HTTPS, there is no problem.
Regards
BobHi Bob,
It might be the possibility that your java web server is configured to listen only on HTTPS.
If your HTTPS is working fine, then first check with your JAVA server for HTTP connectivity, then try it calling through ABAP.
Regards,
Piyush -
DNS problem when calling a web service
Hi,
when I try to call a web service from the Studio I get the following error message:
return code: 503
Network Error
Network Error (dns_server_failure)
Your request could not be processed because an error occurred contacting the DNS server.
The DNS server may be temporarily unavailable, or there could be a network problem.
Looks not like an OBPM problem, but I can access the web service via SoapUI and I can access it from an OBPM enterprise installation on a server here in the network. The problem is only when I try to access the service from OBPM Studio. I also tried accessing a local web service, also does not work.
Does anyone have a hint, what it could be? Thanks for your help!
Regards
MatthiasNo, it is in my local LAN, so it should work without proxy (and in SoapUI it also works without Proxy). But nevertheless I tried it also with a proxy, but unfortunately without success.
Regards
Matthias -
Basic authentication when calling a web service
I am attempting to call a web service using ActionScript. The
web service provider requires that I use HTTP Basic Authentication
to communicate my SOAP requests. I cannot seem to get this done in
ActionScript. If I instantiate a WebService object and call its
SetCredentials method, I get an error "Authentication not supported
on DirectHTTPChannel (no proxy)". I have the WebService object's
useProxy property set to true. HELP!I know this is five years later on this forum but there's no solution here or on any other forum. So after two day's of hammering this out I was able to produce a workable solution. Create a new user account for testing.
Wu_Xiao's explanation of the issue was dead on. The WebService does a GET then a POST and for the GET we are unable to supply the Authorization in the header and this is why we get the popup. The POST has the Authorization but it already to late.
Take these actions
1 Create a new user on the machine with the web services. Start with a simple name and password (text only) I had issues with different users. Start clean and simple.
2 Copy your web services a second usable service. You'll see in my example below i have Ive copied ServicesSECURE/Services1.asmx?WSDL to ServicesDEFINITION/Services1.asmx?WSDL
3 Remove all of the code inside of your services making the new set of service like a definition service. Make sure all of the inputs and outputs are the same. ServicesDEFINITION will have no coding and empty returns.
Example
[WebMethod]
public String CountUsers(string group)
return "";
4 Implement the code below. Call the init() right away to instantiate the web service and wait until it loads to use any of the services. I use a button event to test.
private var testws:WebService = new WebService;
private function init():void
testws.wsdl="http://test.com/ServicesDEFINITION/Services1.asmx?WSDL";
var encoder:Base64Encoder= new Base64Encoder();
encoder.insertNewLines = false; // see below for why you need to do this
encoder.encode("USERNAME:PASSWORD");
testws.httpHeaders = {Authorization:" Basic " + encoder.toString()};
testws.loadWSDL();
testws.addEventListener("load", wsdlLoadHandler);
protected function test_clickHandler(event:MouseEvent):void
testws["CountUsers"].addEventListener(mx.rpc.events.FaultEvent.FAULT,testFaultHandler);
testws["CountUsers"].addEventListener(mx.rpc.events.ResultEvent.RESULT,testResultHandler) ;
testws.endpointURI="http://test.com/ServicesSECURE/Services1.asmx?WSDL";
testws.getOperation("CountUsers").send("Test");
protected function wsdlLoadHandler (event:LoadEvent) : void
//the service has to load before using the getOperation function
//you could try using mx.core.UIComponent.callLater from
//this listener and call the gettestws.getOperation("Co....
So you'll see that the ServicesDEFINITION (GET) is called and grabs the definition of the Service1 service but this unsecured services is useless because we've removed all of the code. After the definition GET is called we can change the end point using endpointURI and perform the POST against our secure ServicesSECURE. -
Error in calling a web service
hi,
i am facing a problem in calling a web service.
following are the steps i followed.
1. created a client proxy object in transaction se80
2. called that proxy object in my program
3. executed the program
problem
1. an exception 'CX_AI_SYSTEM_FAULT' is caught with error code 'GET_BUSINESS_SYSTEM_ERROR' and error text 'An error occurred when determining the business system (SLD_API_EXCEPTION)'
some facts abt the system:
1. we do not have XI server.
2. i havent created a logical port manually still there exists one entry in table SRT_LP which is as follows-
PROXYCLASS - CO_CAT_PING
LP_NAME - CO_CAT_PING
ACTIVE - A
DEFAULTPORT - X
3. i found error messae in transaction 'sldcheck' as 'Summary: Connection to SLD does not work'
4. i havent created a rfc destination.
please reply ASAP.
thanks in advance,
SagarGot a new file for testing the web service and it executed fine. Closing the thread.
Regards
Barada -
Error while calling a web service in web dynpro through XI
Hello,
I was following a blog for Invoking Webservices using SAP XI
/people/siva.maranani/blog/2005/09/03/invoke-webservices-using-sapxi
I have done all the steps specified but when I import the wsdl file in web dynpro application and deploy the project I get the following error:
<b>"Exception on execution of web service with WSDL URL 'bankws_OUT_MI.wsdl' with operation 'bankws_OUT_MI' in interface 'bankws_OUT_MI'"</b>
where:
bankws_OUT_MI -
is the message interface name.
I have defined a web service in the integration reopsitory as follows:
<b>http://PEP:50000/XISOAPAdapter/MessageServlet?channel=:bankws:s_comm</b>
where
bankws --- service name
s_comm -
sender communication channel
selected 'bankws_OUT_MI' message interface from the given choices
'bankws_IN_MI' or 'bankws_OUT_MI'.
interface name: bankws_OUT_MI -
mesage interface name
Can anyone guide me how to proceed further. Also if possible can anyone send me some helpful documentation regarding how to call a web service in web dynpro through XI.
Thanks in advance.
Regards,
Imtoolhello everyone,
I made the whole scenario again and it is running succusfully in Xml spy. Now when i call the webservice in web dynpro... I get the following error:
<b>com.sap.engine.services.webservices.espbase.discovery.BaseIOException: Invalid Response Code 200 while accessing URL: http://PEP:50000/XISOAPAdapter/MessageServlet?channel=:OOMS_WS_OUT:CC_OOMS_WS_OUT. Response Message: OK. Content Type: text/html; charset=utf8. Body Content: <html> <head><title>MessageServlet</title></head> <body> <h3>Message Servlet is in Status OK</h3> <h3>Status information:</h3> Servlet com.sap.aii.af.mp.soap.web.MessageServlet (Version $Id: //tc/xi/645_VAL_REL/src/_adapters/_soap/java/com/sap/aii/af/mp/soap/web/MessageServlet.java#7 $) bound to /MessageServlet <br/>Classname ModuleProcessor: null <br/>Lookupname for localModuleProcessorLookupName: localejbs/ModuleProcessorBean <br/>Lookupname for remoteModuleProcessorLookupName: null <br/>ModuleProcessorClass not instantiated <br/>ModuleProcessorLocal is Instance of com.sap.aii.af.mp.processor.ModuleProcessorLocalLocalObjectImpl0 <br/>ModuleProcessorRemote not instantiated </body></html></b>
I have also made the entry in the visual administrator for metadata_dest and execution_dest.
Does anybody have an idea what mistake i am doing.
Thanks,
Imtool -
QName error while calling a web service from Sourcing
I need to call a web service from Sourcing script. The web service team has provided us the WSDL and I have generated the required stubs using wsimport and packaged the required java classes in a custom JAR. Now while calling a web method using this jar from my script, I am getting and exception. The exception message that I printed out was this:
Caught exception e with msg Connection IO Exception. Check nested exception for details. (Connection
IO Exception. Check nested exception for details. (Connection Exception; nested exception is:
java.lang.IllegalArgumentException: cannot create QName from "null" or "" String).)
The same jar and same code works fine when called from a standalone java program.
I am not using or creating QName anywhere in my script. The only place where QName is used is in the generated java class and there it is created from the correct namespace URL
Can anyone please help me out in figuring out what is the issue?This is the stack trace of the error:
#2.0 #2014 05 08 09:02:30:915#+00#Error#com.sap.engine.services.webservices.espbase.client.bindings.impl.SOAPTransportBinding#
#BC-ESI-WS-JAV-RT#webservices_lib#C000CF8242BA4B800000002100002648#2174850000000005#sap.com/E-Sourcing-Server#com.sap.engine.services.webservices.espbase.client.bindings.impl.SOAPTransportBinding#VAC53324#89##D811EE96D68E11E3C9E0000000212F82#3cf7fe38d68f11e3c963000000212f82#3cf7fe38d68f11e3c963000000212f82#0#Thread[RequestHandler.RqThread: fullsave,5,Dedicated_Application_Thread]#Plain##
Connection IO Exception. Check nested exception for details. (Connection IO Exception. Check nested exception for details. (Connection Exception; nested exception is:
java.lang.IllegalArgumentException: cannot create QName from "null" or "" String).).
[EXCEPTION]
com.sap.engine.services.webservices.espbase.client.bindings.exceptions.TransportBindingException: Connection IO Exception. Check nested exception for details. (Connection IO Exception. Check nested exception for details. (Connection Exception; nested exception is:
java.lang.IllegalArgumentException: cannot create QName from "null" or "" String).).
at com.sap.engine.services.webservices.espbase.client.bindings.impl.SOAPTransportBinding.writeSOAPRequestMessage(SOAPTransportBinding.java:256)
at com.sap.engine.services.webservices.espbase.client.bindings.impl.SOAPTransportBinding.call_SOAP(SOAPTransportBinding.java:1318)
at com.sap.engine.services.webservices.espbase.client.bindings.impl.SOAPTransportBinding.callWOLogging(SOAPTransportBinding.java:991)
at com.sap.engine.services.webservices.espbase.client.bindings.impl.SOAPTransportBinding.call(SOAPTransportBinding.java:945)
at com.sap.engine.services.webservices.espbase.client.jaxws.core.WSInvocationHandler.processTransportBindingCall(WSInvocationHandler.java:168)
at com.sap.engine.services.webservices.espbase.client.jaxws.core.WSInvocationHandler.invokeSEISyncMethod(WSInvocationHandler.java:121)
at com.sap.engine.services.webservices.espbase.client.jaxws.core.WSInvocationHandler.invokeSEIMethod(WSInvocationHandler.java:84)
at com.sap.engine.services.webservices.espbase.client.jaxws.core.WSInvocationHandler.invoke(WSInvocationHandler.java:65)
at $Proxy2539.grantOrganizationRoles(Unknown Source)
I tested the same custom JAR, that is deployed in Sourcing, separately using a standalone java program and there it gave back the correct SOAP response -
Issue in calling a web service from Apps instance
Hi ,
I have created a procedure to call a function which gives response by calling a web service URL.
Requirement is,
While calling this procedure , the response data has been stored in the table. This is working fine in the back end.
Now , i call the same through concurrenet program . It is also getting stored but partially.. The exact data is missing ..other default tags are displayed in the column.
PROCEUDRE:
create or replace procedure cv_test_GetCityWeather_PROC(cityName in varchar2, country in varchar2 ,errbuf OUT nocopy VARCHAR2,retcode OUT nocopy VARCHAR2) is
xmlResponse XmlType;
begin
xmlResponse := CV_Test_GetCityWeather(cityName,country);
insert into xx_cv_test values(xmlResponse);
fnd_file.put_line(fnd_file.log, 'hghghgh');
EXCEPTION
WHEN OTHERS THEN
retcode := 'insert failed';
fnd_file.put_line(fnd_file.log, 'response of the request is ' );
--dbms_output.put_line('xmlResponse ' ||xmlResponse);
end cv_test_getCityweather_proc;
FUNCTION
/*<TOAD_FILE_CHUNK>*/
CREATE OR REPLACE function APPS.CV_Test_GetCityWeather( cityName varchar2, country varchar2 ) return XmlType is
--// URL to call
SOAP_URL constant varchar2(1000) := 'http://www.webservicex.net/globalweather.asmx';
--// SOAP envelope template, containing $ substitution variables
SOAP_ENVELOPE constant varchar2(32767) :=
'<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:web="http://www.webserviceX.NET">
<soapenv:Header/>
<soapenv:Body>
<web:GetWeather>
<web:CityName>$CITY</web:CityName>
<web:CountryName>$COUNTRY</web:CountryName>
</web:GetWeather>
</soapenv:Body>
</soapenv:Envelope>';
--// we'll identify ourselves using an IE9/Windows7 generic browser signature
C_USER_AGENT constant varchar2(4000) := 'Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; Trident/5.0)';
--// these variables need to be set if web access
--// is via a proxy server
proxyServer varchar2(20) default null;
proxyUser varchar2(20) default null;
proxyPass varchar2(20) default null;
--// our local variables
soapEnvelope varchar2(32767);
proxyURL varchar2(4000);
request utl_http.req;
response utl_http.resp;
buffer varchar2(32767);
soapResponse clob;
xmlResponse XmlType;
eof boolean;
begin
--// create the SOAP envelope
soapEnvelope := replace( SOAP_ENVELOPE, '$CITY', cityName );
soapEnvelope := replace( soapEnvelope, '$COUNTRY', country );
--// our "browser" settings
utl_http.set_response_error_check( true );
utl_http.set_detailed_excp_support( true );
utl_http.set_cookie_support( true );
utl_http.set_transfer_timeout( 10 );
utl_http.set_follow_redirect( 3 );
utl_http.set_persistent_conn_support( true );
--// configure for web proxy access if applicable
if proxyServer is not null then
proxyURL := 'http://'||proxyServer;
if (proxyUser is not null) and (proxyPass is not null) then
proxyURL := Replace( proxyURL, 'http://', 'http://'||proxyUser||':'||proxyPass||'@' );
end if;
utl_http.set_proxy( proxyURL, null );
end if;
--// make the POST call to the web service
request := utl_http.begin_request( SOAP_URL, 'POST', utl_http.HTTP_VERSION_1_1 );
utl_http.set_header( request, 'User-Agent', C_USER_AGENT );
utl_http.set_header( request, 'Content-Type', 'text/xml; charset=utf-8' );
utl_http.set_header( request, 'Content-Length', length(soapEnvelope) );
utl_http.set_header( request, 'SoapAction', 'http://www.webserviceX.NET/GetWeather' );
utl_http.write_text( request, soapEnvelope );
--// read the web service HTTP response
response := utl_http.get_response( request );
dbms_lob.CreateTemporary( soapResponse, true );
eof := false;
loop
exit when eof;
begin
utl_http.read_line( response, buffer, true );
if length(buffer) > 0 then
dbms_lob.WriteAppend(
soapResponse,
length(buffer),
buffer
end if;
exception when utl_http.END_OF_BODY then
eof := true;
end;
end loop;
utl_http.end_response( response );
--// as the SOAP responds with XML, we convert
--// the response to XML
xmlResponse := XmlType( soapResponse );
--dbms_lob.FreeTemporary( soapResponse );
--insert into xx_cv_test values(xmlResponse);
return( xmlResponse );
exception when OTHERS then
if soapResponse is not null then
dbms_lob.FreeTemporary( soapResponse );
end if;
raise;
end;
EXECUTION:
select cv_test_GetCityWeather( 'Cape Town', 'South Africa' ) from dual
Result is,
<?xml version="1.0" encoding="UTF-8"?>
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<soap:Body>
<GetWeatherResponse xmlns="http://www.webserviceX.NET">
<GetWeatherResult><?xml version="1.0" encoding="utf-16"?><CurrentWeather> <Location>Cape Town, Cape Town International Airport, South Africa (FACT) 33-59S 018-36E 0M</Location> <Time>May 28, 2013 - 03:00 AM EDT / 2013.05.28 0700 UTC</Time> <Wind> from the NNW (330 degrees) at 7 MPH (6 KT) (direction variable):0</Wind> <Visibility> 4 mile(s):0</Visibility> <SkyConditions> mostly cloudy</SkyConditions> <Temperature> 57 F (14 C)</Temperature> <DewPoint> 53 F (12 C)</DewPoint> <RelativeHumidity> 87%</RelativeHumidity> <Pressure> 30.03 in. Hg (1017 hPa)</Pressure> <Status>Success</Status></CurrentWeather></GetWeatherResult>
</GetWeatherResponse>
</soap:Body>
</soap:Envelope>
While running Concurrent Program, by providing PARAMETERS : Cape Town, South Africa,
the result is ,
<?xml version="1.0" encoding="UTF-8"?>
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<soap:Body>
<GetWeatherResponse xmlns="http://www.webserviceX.NET">
<GetWeatherResult>Data Not Found</GetWeatherResult>
</GetWeatherResponse>
</soap:Body>
</soap:Envelope>
Why the outputs are different for the same procedure..
Anybody , Please help me to fix this issue.
Thanks
Winskyduplicate post
Please see
Calling webservice from PLSQL
Please confirm are you the one who post the above thread
;) AppsMAsti :)
sharing is Caring -
How to call COPY web service from sharepoint in SAP
Hello Experts,
I want to call COPY web service from SharePoint in SAP web dynpro / JAVA application.
However, when I try to connect to web service and download wsdl using http:// <hostname:port>/_vti_bin/copy.asmx?wsdl
it results in Unauthorized error and doesnt complete the setup. Detail error is :
Error occurred while downloading WSIL file. Error message: Deserializing xml stream http:// <hostname:port>/_vti_bin/copy.asmx?wsdl
failed.com.sap.engine.services.webservices.espbase.wsdl.exceptions.WSDLException: Invalid Response Code: (401) Unauthorized. The requested URL was:"Connect to
http:// <hostname:port>/_vti_bin/copy.asmx?wsdl , used user to connect: userid"
I am trying to connect with server user account. Any idea on what authorizations might be required or any help on the scenario .
-AbhijeetHere's an example on how to delete a list item, hopefully this helps
package com.jw.sharepoint.examples;
import java.io.File;
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date;
import java.util.Properties;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import org.w3c.dom.Element;
import org.w3c.dom.Node;
import org.w3c.dom.NodeList;
import com.microsoft.sharepoint.webservices.CopySoap;
import com.microsoft.sharepoint.webservices.GetListItems;
import com.microsoft.sharepoint.webservices.GetListItemsResponse;
import com.microsoft.sharepoint.webservices.ListsSoap;
import com.microsoft.sharepoint.webservices.UpdateListItems.Updates;
import com.microsoft.sharepoint.webservices.UpdateListItemsResponse.UpdateListItemsResult;
public class SharePointDeleteListItemExample extends SharePointBaseExample {
private String delete = null;
private String deleteListItemQuery = null;
private String queryOptions = null;
private static final Log logger = LogFactory.getLog(SharePointUploadDocumentExample.class);
private static Properties properties = new Properties();
public Properties getProperties() {
return properties;
* @param args
public static void main(String[] args) {
logger.debug("main...");
SharePointDeleteListItemExample example = new SharePointDeleteListItemExample();
try {
example.initialize();
CopySoap cp = example.getCopySoap();
example.uploadDocument(cp, properties.getProperty("copy.sourceFile"));
ListsSoap ls = example.getListsSoap();
example.executeQueryAndDelete(ls);
} catch (Exception ex) {
logger.error("Error caught in main: ", ex);
public void executeQueryAndDelete(ListsSoap ls) throws Exception {
Date today = Calendar.getInstance().getTime();
SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd");
String formattedDate = simpleDateFormat.format(today);
String queryFormatted = String.format(deleteListItemQuery,formattedDate);
GetListItems.QueryOptions msQueryOptions = new GetListItems.QueryOptions();
GetListItems.Query msQuery = new GetListItems.Query();
msQuery.getContent().add(createSharePointCAMLNode(queryFormatted));
msQueryOptions.getContent().add(createSharePointCAMLNode(this.queryOptions));
GetListItemsResponse.GetListItemsResult result = ls.getListItems(
properties.getProperty("folder"), "", msQuery, null, "",
msQueryOptions, "");
writeResult(result.getContent().get(0), System.out);
Element element = (Element) result.getContent().get(0);
NodeList nl = element.getElementsByTagName("z:row");
for (int i = 0; i < nl.getLength(); i++) {
Node node = nl.item(i);
String id = node.getAttributes().getNamedItem("ows_ID").getNodeValue();
String fileRefRelativePath = node.getAttributes().getNamedItem("ows_FileRef").getNodeValue();
logger.debug("id: " + id);
logger.debug("fileRefRelativePath: " + fileRefRelativePath);
String fileRef = properties.getProperty("delete.FileRef.base") + fileRefRelativePath.split("#")[1];
logger.debug("fileRef: " + fileRef);
deleteListItem(ls, properties.getProperty("folder"), id, fileRef);
public void deleteListItem(ListsSoap ls, String listName, String listId, String fileRef) throws Exception {
String deleteFormatted = String.format(delete, listId, fileRef);
Updates u = new Updates();
u.getContent().add(createSharePointCAMLNode(deleteFormatted));
UpdateListItemsResult ret = ls.updateListItems(listName, u);
writeResult(ret.getContent().get(0), System.out);
public void initialize() throws Exception {
logger.info("initialize()...");
properties.load(getClass().getResourceAsStream("/SharePointDeleteListItemExample.properties"));
super.initialize();
this.delete = new String(readAll(new File(this.getClass().getResource("/Delete.xml").toURI())));
this.deleteListItemQuery = new String(readAll(new File(this.getClass().getResource("/DeleteListItemQuery.xml").toURI())));
this.queryOptions = new String(readAll(new File(this.getClass().getResource("/QueryOptions.xml").toURI())));
Brandon James SharePoint Developer/Administrator -
Calling a web service through SSL via a stand alone java class
HI,
I am trying to call a web service through SSL via a simple stand alone java client.
I have imported the SSL certificate in my keystore by using the keytool -import command.
Basically I want to add a user to a group on the server. Say I add a user user 1 to group group 1 using an admin userid and password. All these values are set in an xml file which I send to the server while calling the server. I pass the web service URL, the soap action name and the xml to post as the command line arguments to the java client.
My xml file(Add.xml) that is posted looks like :
<?xml version="1.0" encoding="UTF-8"?>
<SOAP-ENV:Envelope
xmlns:xsi = "http://www.w3.org/1999/XMLSchema-instance"
xmlns:SOAP-ENC = "http://schemas.xmlsoap.org/soap/encoding/"
xmlns:SOAP-ENV = "http://schemas.xmlsoap.org/soap/envelope/"
xmlns:xsd = "http://www.w3.org/1999/XMLSchema"
SOAP-ENV:encodingStyle = "http://schemas.xmlsoap.org/soap/encoding/">
<SOAP-ENV:Body>
<namesp1:modifyGroupOperation xmlns:namesp1 = "/services/modifyGroup/modifyGroupOp">
<auth>
<user>adminUser</user>
<password>adminPassword</password>
</auth>
<operationType>ADD</operationType>
<groupName>group1</groupName>
<users>
<userName>user1</userName>
</users>
</namesp1:modifyGroupOperation>
</SOAP-ENV:Body>
</SOAP-ENV:Envelope>
I call the client as:
java PostXML https://com.webservice.com/services/modifyGroup "/services/modifyGroup/modifyGroupOp" Add.xml
I my client, I have set the following:
System.setProperty("javax.net.ssl.keyStore", "C:\\Program Files\\Java\\jre1.5.0_12\\lib\\security\\cacerts");
System.setProperty("javax.net.ssl.keyStorePassword", "password");
System.setProperty("javax.net.ssl.trustStore", "C:\\Program Files\\Java\\jre1.5.0_12\\lib\\security\\cacerts");
System.setProperty("javax.net.ssl.trustStorePassword", "password");
But when I try to execute the java client, I get the following error:
setting up default SSLSocketFactory
use default SunJSSE impl class: com.sun.net.ssl.internal.ssl.SSLSocketFactoryImpl
class com.sun.net.ssl.internal.ssl.SSLSocketFactoryImpl is loaded
keyStore is : C:\Program Files\Java\jre1.5.0_12\lib\security\cacerts
keyStore type is : jks
keyStore provider is :
init keystore
init keymanager of type SunX509
trustStore is: C:\Program Files\Java\jre1.5.0_12\lib\security\cacerts
trustStore type is : jks
trustStore provider is :
init truststore
adding as trusted cert:
init context
trigger seeding of SecureRandom
done seeding SecureRandom
instantiated an instance of class com.sun.net.ssl.internal.ssl.SSLSocketFactoryImpl
main, setSoTimeout(0) called
main, setSoTimeout(0) called
%% No cached client session
*** ClientHello, TLSv1
RandomCookie: GMT: .....
Compression Methods: { 0 }
[write] MD5 and SHA1 hashes: len = 73
main, WRITE: TLSv1 Handshake, length = 73
[write] MD5 and SHA1 hashes: len = 98
main, WRITE: SSLv2 client hello message, length = 98
[Raw write]: length = 100
[Raw read]: length = 5
[Raw read]: length = 58
main, READ: TLSv1 Handshake, length = 58
*** ServerHello, TLSv1
%% Created: [Session-1, SSL_RSA_WITH_RC4_128_MD5]
** SSL_RSA_WITH_RC4_128_MD5
[read] MD5 and SHA1 hashes: len = 58
[Raw read]: length = 5
[Raw read]: length = 5530
main, READ: TLSv1 Handshake, length = 5530
*** Certificate chain
chain [0] = ...
chain [1] = ...
chain [2] = ...
chain [3] = ...
main, SEND TLSv1 ALERT: fatal, description = certificate_unknown
main, WRITE: TLSv1 Alert, length = 2
[Raw write]: length = 7
0000: 15 03 01 00 02 02 2E .......
main, called closeSocket()
main, handling exception: javax.net.ssl.SSLHandshakeException: sun.security.validator.ValidatorException: PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target
main, called close()
main, called closeInternal(true)
main, called close()
main, called closeInternal(true)
main, called close()
main, called closeInternal(true)
Exception in thread "main" javax.net.ssl.SSLHandshakeException: sun.security.validator.ValidatorException: PKIX path building failed: sun.security.provider.c
ertpath.SunCertPathBuilderException: unable to find valid certification path to requested target
at com.sun.net.ssl.internal.ssl.Alerts.getSSLException(Unknown Source)
at com.sun.net.ssl.internal.ssl.SSLSocketImpl.fatal(Unknown Source)
at com.sun.net.ssl.internal.ssl.Handshaker.fatalSE(Unknown Source)
at com.sun.net.ssl.internal.ssl.Handshaker.fatalSE(Unknown Source)
at com.sun.net.ssl.internal.ssl.ClientHandshaker.serverCertificate(Unknown Source)
at com.sun.net.ssl.internal.ssl.ClientHandshaker.processMessage(Unknown Source)
at com.sun.net.ssl.internal.ssl.Handshaker.processLoop(Unknown Source)
at com.sun.net.ssl.internal.ssl.Handshaker.process_record(Unknown Source)
at com.sun.net.ssl.internal.ssl.SSLSocketImpl.readRecord(Unknown Source)
at com.sun.net.ssl.internal.ssl.SSLSocketImpl.performInitialHandshake(Unknown Source)
at com.sun.net.ssl.internal.ssl.SSLSocketImpl.writeRecord(Unknown Source)
at com.sun.net.ssl.internal.ssl.AppOutputStream.write(Unknown Source)
at java.io.BufferedOutputStream.flushBuffer(Unknown Source)
at java.io.BufferedOutputStream.flush(Unknown Source)
at org.apache.commons.httpclient.methods.EntityEnclosingMethod.writeRequestBody(EntityEnclosingMethod.java:506)
at org.apache.commons.httpclient.HttpMethodBase.writeRequest(HttpMethodBase.java:2110)
at org.apache.commons.httpclient.HttpMethodBase.execute(HttpMethodBase.java:1088)
at org.apache.commons.httpclient.HttpMethodDirector.executeWithRetry(HttpMethodDirector.java:398)
at org.apache.commons.httpclient.HttpMethodDirector.executeMethod(HttpMethodDirector.java:171)
at org.apache.commons.httpclient.HttpClient.executeMethod(HttpClient.java:397)
at org.apache.commons.httpclient.HttpClient.executeMethod(HttpClient.java:323)
at PostXML.main(PostXML.java:111)
Caused by: sun.security.validator.ValidatorException: PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException: unable to find v
alid certification path to requested target
at sun.security.validator.PKIXValidator.doBuild(Unknown Source)
at sun.security.validator.PKIXValidator.engineValidate(Unknown Source)
at sun.security.validator.Validator.validate(Unknown Source)
at com.sun.net.ssl.internal.ssl.X509TrustManagerImpl.checkServerTrusted(Unknown Source)
at com.sun.net.ssl.internal.ssl.JsseX509TrustManager.checkServerTrusted(Unknown Source)
... 18 more
Caused by: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target
at sun.security.provider.certpath.SunCertPathBuilder.engineBuild(Unknown Source)
at java.security.cert.CertPathBuilder.build(Unknown Source)
... 23 more
I do not know where I have gone wrong. Could someone point out my mistake.
Thanks In advance!Hi jazz123,
There's an example in the [*Java Web Services Tutorial*|http://java.sun.com/webservices/docs/2.0/tutorial/doc/] : see Chapter 1: Building Web Services with JAX-WS - A Simple JAX-WS Client. -
Calling a web service deployed in a SSO domain
Hello,
I have try some web service security such as HTTP proxy, and i write a client stub to call that service. And it's work well.
It's very easy cause i generate stub from wsdl using Jdev10.1.2.
But when I use SSO domain to protect web service, i have some problem.
My question is: how should I write a client stub for that web service? How are the name and the password provided in the client stub in order to call web service (that will be also protected as part of the protected application)?
Can someone help me?
Regards,
christianHi Jim,
I Have activated my SSO on server. The problem is, i can't call my web service from client stub. fro your info in my office we use oracle10g 10.1.2.
Can you help me, please?
Thank you,
christian -
Calling a web service In Netweaver 7.0 abap stack through an external alias
Hello,
In CRM 2007 (Netweaver 7.0 abap stack SP 16), we have defined a web service from a module function using the wizard and configuring it with SOAMANAGER.
This web service works great when calling it with the "official" URL, something like :
http://host.domain:port/sap/bc/srt/rfc/sap/zwebservice/client/zoperation/zbinding
We would like to use a more simple URL. So with SICF, I have created an external alias /zwebservice which points to the "official" URL.
The problem is that it does not work. I get every time an HTTP 500 error code and an error Message
u201CThe configuration of the http server is missingu201D.
Do you think that it is possible to call a web service through an external alias ?
Thanks in advance for any ideas or solution !
OlivierSeems that no one has tried it...
I close the question.
Maybe you are looking for
-
Re-open windows from last session in Apps like Pages, Preview and more
Just migrate to Yosemite and I'm a bit concern that my main apps like Pages, Preview, Texedit that used to open all the windows documents from the last session, now they are not. Do Apple got rid of this function in Yosemite or is there a way to abil
-
2013.03-4 archboot "2k13-R1" ISO hybrid images released
Hi Arch community, Arch Linux (archboot creation tool) 2013.03-4, "2k13-R1" has been released. Homepage and for more information on archboot: http://wiki.archlinux.org/index.php/Archboot Summary: - major update/cleanup on all components Hybrid image
-
how do i migrate files from a imac to macbook pro using an ethernet cable. the migration program asks for firewire and i don't own a fireWire. I do own an ethernet cable though
-
FaceTime camera appears off-center
I noticed today that on my iPhone 6 the FaceTime camera on the front appears way off-center. I've attached a photo, but it's a little hard to see. It doesn't seem to interfere with the camera, but I don't really know that without a comparison and I h
-
C6-00 What version of Nokia PC Suite
I went to download Nokia PC Suite (NOT Ovi version) but can see C6-00 in compatibility list. Is there a different phone I can select to make sure that the file I download is compatible with C6-00?