When ODI calls a web service ,exception is thrown in the console

Excetions are like below:
My envirionment :ODI11g+AXIS2 1.2
com.sunopsis.wsinvocation.SnpsWSInvocationException: javax.xml.ws.soap.SOAPFaultException: {empservice/WSOdiEmpSrc/schema}OdiEmpSrc was expected, {http://emp.com/xsd}getOdiEmpSrc encountered.
     at oracle.odi.wsinvocation.client.impl.jaxws.OdiJaxwsClientImpl.requestReply(OdiJaxwsClientImpl.java:73)
     at oracle.odi.wsinvocation.client.impl.jaxws.OdiJaxwsOracleClientImpl.requestReply(OdiJaxwsOracleClientImpl.java:44)
     at com.sunopsis.graphical.wsclient.RequestWsPane$11$1.doInBackground(RequestWsPane.java:1257)
     at com.sunopsis.graphical.tools.utils.swingworker.SwingWorker$1.call(SwingWorker.java:240)
     at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303)
     at java.util.concurrent.FutureTask.run(FutureTask.java:138)
     at com.sunopsis.graphical.tools.utils.swingworker.SwingWorker.run(SwingWorker.java:278)
     at oracle.ide.dialogs.ProgressBar.run(ProgressBar.java:655)
     at java.lang.Thread.run(Thread.java:619)
Caused by: javax.xml.ws.soap.SOAPFaultException: {empservice/WSOdiEmpSrc/schema}OdiEmpSrc was expected, {http://emp.com/xsd}getOdiEmpSrc encountered.
     at com.sun.xml.internal.ws.fault.SOAP11Fault.getProtocolException(SOAP11Fault.java:178)
     at com.sun.xml.internal.ws.fault.SOAPFaultBuilder.createException(SOAPFaultBuilder.java:111)
     at com.sun.xml.internal.ws.client.dispatch.DispatchImpl.doInvoke(DispatchImpl.java:176)
     at com.sun.xml.internal.ws.client.dispatch.DispatchImpl.invoke(DispatchImpl.java:195)
     at oracle.odi.wsinvocation.client.impl.jaxws.OdiJaxwsClientImpl.requestReply(OdiJaxwsClientImpl.java:66)
     ... 8 more
Edited by: user1367894 on 2011-10-31 上午1:41

I can't reproduce this here with Mojarra 1.2_09 on Tomcat 6.0.18 with Servlet 2.5 and JSP 2.1. As I don't use Facelets, you might have more luck if you look in that corner for the cause of the problem.

Similar Messages

  • Error Message When I Invoke my web services : Exception source is: mscorlib' , Stack Trace :System.Runtime.Serialization.SerializationException: Type 'System.ServiceModel.ExceptionDetail' in Assembly 'System.ServiceModel, Version=4.0.0.0, Culture=neutral,

    Exception source is: mscorlib' , Stack Trace :System.Runtime.Serialization.SerializationException: Type 'System.ServiceModel.ExceptionDetail' in Assembly 'System.ServiceModel, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089' is not marked
    as serializable.
       at System.Runtime.Serialization.FormatterServices.InternalGetSerializableMembers(RuntimeType type)
       at System.Runtime.Serialization.FormatterServices.GetSerializableMembers(Type type, StreamingContext context)
       at System.Runtime.Serialization.Formatters.Binary.WriteObjectInfo.InitMemberInfo()
       at System.Runtime.Serialization.Formatters.Binary.WriteObjectInfo.InitSerialize(Object obj, ISurrogateSelector surrogateSelector, StreamingContext context, SerObjectInfoInit serObjectInfoInit, IFormatterConverter converter, ObjectWriter objectWriter,
    SerializationBinder binder)
       at System.Runtime.Serialization.Formatters.Binary.ObjectWriter.Write(WriteObjectInfo objectInfo, NameInfo memberNameInfo, NameInfo typeNameInfo)
       at System.Runtime.Serialization.Formatters.Binary.ObjectWriter.Serialize(Object graph, Header[] inHeaders, __BinaryWriter serWriter, Boolean fCheck)
       at System.Runtime.Serialization.Formatters.Binary.BinaryFormatter.Serialize(Stream serializationStream, Object graph, Header[] headers, Boolean fCheck)
       at System.Runtime.Remoting.Channels.CrossAppDomainSerializer.SerializeObject(Object obj, MemoryStream stm)
       at System.AppDomain.Serialize(Object o)
       at System.AppDomain.MarshalObject(Object o)
       at MS.Win32.UnsafeNativeMethods.DispatchMessage(MSG& msg)
       at System.Windows.Threading.Dispatcher.PushFrameImpl(DispatcherFrame frame)
       at System.Windows.Threading.Dispatcher.PushFrame(DispatcherFrame frame)
       at System.Windows.Application.RunDispatcher(Object ignore)
       at System.Windows.Application.RunInternal(Window window)
       at System.Windows.Application.Run(Window window)

    Hi,
    The forum is main about installation problem of .NET Framework. Your problem is out of support in the forum. You should post your thread to the forum:
    https://social.msdn.microsoft.com/Forums/en-US/clr/threads
    Best Wishes!
    We are trying to better understand customer views on social support experience, so your participation in this interview project would be greatly appreciated if you have time. Thanks for helping make community forums a great place. <br/> Click <a
    href="http://support.microsoft.com/common/survey.aspx?showpage=1&scid=sw%3Ben%3B3559&theme=tech"> HERE</a> to participate the survey.

  • 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

  • Help needed in calling a Web service

    Hi,
    I want to call a web service from my component. The called web service might have different names, therefore I don't want to use the proxy class way.
    I am facing problem in parsing the input parameters from the wsdl file. I have attached the wsdl file at the end.
    I am using the javax.wsdl.xml.WSDLReader(axis). I have been able to parse all the bindings, ports and messages but
    1. i am not able to parse the wsdl:types to obtain the input parameters
    //javax.wsdl.Operation op obtained from the port which alternatively obtained from Definition
    Message inputs = op.getInput().getMessage();
    Part part = null;
    // let's find the input params
    Map inputParts = inputs.getParts();
    // create the object array which Axis will use to pass in the parameters
    inputParams = new Object[inputParts.size()];
    s = inputParts.keySet();
    it = s.iterator();
    int i = 0;
    while(it.hasNext())
    part = (Part) inputParts.get(it.next());
    Afetr performing this, i have no clue as to how to parse the input parameters.
    2. How will i generate the java Objects array from these input parameters to pass to the Call.invoke function, i.e.
    Call call = (Call) service.createCall();
    call.setOperation(portQN, operationName);
    Object ret = (Integer) call.invoke(inputParams);
    The function takes an object[] as input but since i have complex types involved in wsdl, so how will this object array needs to be populated
    WSDL file:
    <?xml version="1.0" encoding="UTF-8" ?>
    <wsdl:definitions xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" xmlns:ns1="http://org.apache.axis2/xsd" xmlns:ns="http://V4_0.testcenter8" xmlns:wsaw="http://www.w3.org/2006/05/addressing/wsdl" xmlns:http="http://schemas.xmlsoap.org/wsdl/http/" xmlns:ax258="http://testcenter8.V4_0.testcenter8/xsd" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:ax257="http://V4_0.testcenter8/xsd" xmlns:mime="http://schemas.xmlsoap.org/wsdl/mime/" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:soap12="http://schemas.xmlsoap.org/wsdl/soap12/" targetNamespace="http://V4_0.testcenter8">
    <wsdl:types>
    <xs:schema xmlns:ax260="http://V4_0.testcenter8/xsd" attributeFormDefault="qualified" elementFormDefault="qualified" targetNamespace="http://V4_0.testcenter8">
    <xs:import namespace="http://V4_0.testcenter8/xsd" />
    <xs:element name="executeRuleset">
    <xs:complexType>
    <xs:sequence>
    <xs:element minOccurs="0" name="param0" nillable="true" type="ax257:testcenter8_V4_0_Req" />
    </xs:sequence>
    </xs:complexType>
    </xs:element>
    <xs:element name="executeRulesetResponse">
    <xs:complexType>
    <xs:sequence>
    <xs:element minOccurs="0" name="return" nillable="true" type="ax257:testcenter8_V4_0_Resp" />
    </xs:sequence>
    </xs:complexType>
    </xs:element>
    </xs:schema>
    <xs:schema xmlns:ax259="http://testcenter8.V4_0.testcenter8/xsd" attributeFormDefault="qualified" elementFormDefault="qualified" targetNamespace="http://V4_0.testcenter8/xsd">
    <xs:import namespace="http://testcenter8.V4_0.testcenter8/xsd" />
    <xs:complexType name="testcenter8_V4_0_Req">
    <xs:sequence>
    <xs:element minOccurs="0" name="cabinetName" nillable="true" type="xs:string" />
    <xs:element minOccurs="0" name="inputsobj" nillable="true" type="ax258:Inputs" />
    <xs:element minOccurs="0" name="loginReqd" type="xs:boolean" />
    <xs:element minOccurs="0" name="outputsobj" nillable="true" type="ax258:Outputs" />
    <xs:element minOccurs="0" name="password" nillable="true" type="xs:string" />
    <xs:element minOccurs="0" name="userName" nillable="true" type="xs:string" />
    </xs:sequence>
    </xs:complexType>
    <xs:complexType name="testcenter8_V4_0_Resp">
    <xs:sequence>
    <xs:element minOccurs="0" name="inputsobj" nillable="true" type="ax258:Inputs" />
    <xs:element minOccurs="0" name="outputsobj" nillable="true" type="ax258:Outputs" />
    </xs:sequence>
    </xs:complexType>
    </xs:schema>
    <xs:schema attributeFormDefault="qualified" elementFormDefault="qualified" targetNamespace="http://testcenter8.V4_0.testcenter8/xsd">
    <xs:complexType name="Inputs">
    <xs:sequence>
    <xs:element minOccurs="0" name="description" nillable="true" type="xs:string" />
    <xs:element minOccurs="0" name="subject" nillable="true" type="xs:string" />
    </xs:sequence>
    </xs:complexType>
    <xs:complexType name="Outputs">
    <xs:sequence>
    <xs:element minOccurs="0" name="category" nillable="true" type="xs:string" />
    <xs:element minOccurs="0" name="massRequestType" type="xs:int" />
    <xs:element minOccurs="0" name="subCategory" nillable="true" type="xs:string" />
    </xs:sequence>
    </xs:complexType>
    </xs:schema>
    </wsdl:types>
    <wsdl:message name="executeRulesetRequest">
    <wsdl:part name="parameters" element="ns:executeRuleset" />
    </wsdl:message>
    <wsdl:message name="executeRulesetResponse">
    <wsdl:part name="parameters" element="ns:executeRulesetResponse" />
    </wsdl:message>
    <wsdl:portType name="testcenter8_V4_0WebServicePortType">
    <wsdl:operation name="executeRuleset">
    <wsdl:input message="ns:executeRulesetRequest" wsaw:Action="urn:executeRuleset" />
    <wsdl:output message="ns:executeRulesetResponse" wsaw:Action="urn:executeRulesetResponse" />
    </wsdl:operation>
    </wsdl:portType>
    <wsdl:binding name="testcenter8_V4_0WebServiceSoap11Binding" type="ns:testcenter8_V4_0WebServicePortType">
    <soap:binding transport="http://schemas.xmlsoap.org/soap/http" style="document" />
    <wsdl:operation name="executeRuleset">
    <soap:operation soapAction="urn:executeRuleset" style="document" />
    <wsdl:input>
    <soap:body use="literal" />
    </wsdl:input>
    <wsdl:output>
    <soap:body use="literal" />
    </wsdl:output>
    </wsdl:operation>
    </wsdl:binding>
    <wsdl:binding name="testcenter8_V4_0WebServiceSoap12Binding" type="ns:testcenter8_V4_0WebServicePortType">
    <soap12:binding transport="http://schemas.xmlsoap.org/soap/http" style="document" />
    <wsdl:operation name="executeRuleset">
    <soap12:operation soapAction="urn:executeRuleset" style="document" />
    <wsdl:input>
    <soap12:body use="literal" />
    </wsdl:input>
    <wsdl:output>
    <soap12:body use="literal" />
    </wsdl:output>
    </wsdl:operation>
    </wsdl:binding>
    <wsdl:binding name="testcenter8_V4_0WebServiceHttpBinding" type="ns:testcenter8_V4_0WebServicePortType">
    <http:binding verb="POST" />
    <wsdl:operation name="executeRuleset">
    <http:operation location="testcenter8_V4_0WebService/executeRuleset" />
    <wsdl:input>
    <mime:content type="text/xml" part="executeRuleset" />
    </wsdl:input>
    <wsdl:output>
    <mime:content type="text/xml" part="executeRuleset" />
    </wsdl:output>
    </wsdl:operation>
    </wsdl:binding>
    <wsdl:service name="testcenter8_V4_0WebService">
    <wsdl:port name="testcenter8_V4_0WebServiceHttpSoap11Endpoint" binding="ns:testcenter8_V4_0WebServiceSoap11Binding">
    <soap:address location="http://192.168.56.89:8080/axis2/services/testcenter8_V4_0WebService.testcenter8_V4_0WebServiceHttpSoap11Endpoint/" />
    </wsdl:port>
    <wsdl:port name="testcenter8_V4_0WebServiceHttpSoap12Endpoint" binding="ns:testcenter8_V4_0WebServiceSoap12Binding">
    <soap12:address location="http://192.168.56.89:8080/axis2/services/testcenter8_V4_0WebService.testcenter8_V4_0WebServiceHttpSoap12Endpoint/" />
    </wsdl:port>
    <wsdl:port name="testcenter8_V4_0WebServiceHttpEndpoint" binding="ns:testcenter8_V4_0WebServiceHttpBinding">
    <http:address location="http://192.168.56.89:8080/axis2/services/testcenter8_V4_0WebService.testcenter8_V4_0WebServiceHttpEndpoint/" />
    </wsdl:port>
    </wsdl:service>
    </wsdl:definitions>
    Regards
    Nitin

    An update -
    I want to call a web service from my component. The called web service might have different names, therefore I don't want to use the proxy class way.
    I am parsing the WSDL file and obtaining the different parameters. But i am having problem in passing the parameters(receiving as well) to the web service and i am not able to find any good refernce on the internet, i am getting the following exception:
    org.xml.sax.SAXException: Invalid element in javax.xml.rpc.namespace.QName - inputsobj
    at org.apache.axis.encoding.ser.BeanDeserializer.onStartChild(Unknown Source)
    at org.apache.axis.AxisFault.makeFault(Unknown Source)
    at org.apache.axis.encoding.DeserializationContextImpl.startElement(Unknown Source)
    at org.apache.axis.message.SAX2EventRecorder.replay(Unknown Source)
    at org.apache.axis.message.MessageElement.publishToHandler(Unknown Source)
    at org.apache.axis.client.Call.invoke(Unknown Source)
    at org.apache.axis.message.RPCElement.deserialize(Unknown Source)
    at org.apache.axis.message.RPCElement.getParams(Unknown Source)
    at org.apache.axis.client.Call.invoke(Unknown Source)
    at org.apache.axis.client.Call.invoke(Unknown Source)
    at org.apache.axis.client.Call.invoke(Unknown Source)
    at org.apache.axis.client.Call.invoke(Unknown Source)
    at javaapplication17.Invoke.axisInvoke(Invoke.java:639)
    at javaapplication17.Invoke.parseWSDL(Invoke.java:423)
    at javaapplication17.Invoke.run(Invoke.java:76)
    at javaapplication17.Invoke.main(Invoke.java:64)
    at org.apache.axis.client.Call.invoke(Unknown Source)
    Error invoking service : org.xml.sax.SAXException: Invalid element in javax.xml.rpc.namespace.QName - inputsobj
    at javaapplication17.Invoke.axisInvoke(Invoke.java:639)
    at javaapplication17.Invoke.parseWSDL(Invoke.java:423)
    at javaapplication17.Invoke.run(Invoke.java:76)
    at javaapplication17.Invoke.main(Invoke.java:64)
    Caused by: org.xml.sax.SAXException: Invalid element in javax.xml.rpc.namespace.QName - inputsobj
    at org.apache.axis.encoding.ser.BeanDeserializer.onStartChild(Unknown Source)
    at org.apache.axis.encoding.DeserializationContextImpl.startElement(Unknown Source)
    at org.apache.axis.message.SAX2EventRecorder.replay(Unknown Source)
    at org.apache.axis.message.MessageElement.publishToHandler(Unknown Source)
    at org.apache.axis.message.RPCElement.deserialize(Unknown Source)
    at org.apache.axis.message.RPCElement.getParams(Unknown Source)
    ... 7 more
    Following is the code snippet and the passed values to the function:
    Parameters passed to the test function:
    targetNamespace = "http://V5_0.testcenter8"
    serviceName = "testcenter8_V5_0WebServiceHttpSoap11Endpoint"
    portName = "http://V5_0.testcenter8:testcenter8_V5_0WebService"
    operationName = "executeRuleset"
    arrListParameters; //obtained by parsing the XSD using XMLSchema(XSD created from wsdl types tag)
    implURI = "http://192.168.56.89:8080/axis2/services/testcenter8_V5_0WebService?wsdl"
    test function:
    NOTE:some things have been hardcoded.
    public void axisInvoke(String targetNamespace, String serviceName, String portName,
    String operationName, ArrayList<Parameter> arrListParameters, String implURI)
    try
    // first, due to a funny Axis idiosyncracy we must strip portName of
    // it's target namespace so we can pass it in as targetNamespace, localPart
    int index = portName.indexOf(":", portName.indexOf("http://") + new String("http://").length());
    String portNamespace = portName.substring(0, index);
    portName = portName.substring(index == 0 ? index : index + 1); // to strip the :
    javax.xml.rpc.namespace.QName serviceQN = new javax.xml.rpc.namespace.QName(portNamespace, portName);
    org.apache.axis.client.Service service = new org.apache.axis.client.Service(new URL(implURI), serviceQN);
    javax.xml.rpc.namespace.QName portQN = new javax.xml.rpc.namespace.QName(targetNamespace, serviceName);
    // This Call object will be used the invocation
    Call call = (Call) service.createCall();
    // Now make the call...
    System.out.println("Invoking service >> " + serviceName + " <<...");
    //call.setOperation(portQN, operationName); //do not work
    call.setOperationName(new javax.xml.rpc.namespace.QName("http://V5_0.testcenter8", "executeRuleset"));
    call.removeAllParameters();// why there is parameters already added to the list of parameters
    //call.addParameter(new javax.xml.rpc.namespace.QName(strNameSpaceURI, strParamName), org.apache.axis.Constants.XSD_STRING, ParameterMode.PARAM_MODE_INOUT);
    ArrayList<Object> arrListInputParameters = new ArrayList<Object>();
    for(int i = 0; i < arrListParameters.size(); i++)
    String strParamName = arrListParameters.get(i).strParamName;
    String strParamType = arrListParameters.get(i).strParamType;
    String strNameSpaceURI = arrListParameters.get(i).strParamNameSpaceURI;
    if(strNameSpaceURI.compareToIgnoreCase("http://www.w3.org/2001/XMLSchema") == 0)
    boolean isInParam = true;
    if(strParamName.compareToIgnoreCase("cabinetName") == 0)
    call.addParameter(new javax.xml.rpc.namespace.QName(strNameSpaceURI, strParamName), org.apache.axis.Constants.XSD_STRING, ParameterMode.PARAM_MODE_INOUT);
    arrListInputParameters.add("testcenter8");
    else if(strParamName.compareToIgnoreCase("loginReqd") == 0)
    call.addParameter(new javax.xml.rpc.namespace.QName(strNameSpaceURI, strParamName), org.apache.axis.Constants.XSD_BOOLEAN, ParameterMode.PARAM_MODE_INOUT);
    arrListInputParameters.add(false);
    else if(strParamName.compareToIgnoreCase("password") == 0)
    call.addParameter(new javax.xml.rpc.namespace.QName(strNameSpaceURI, strParamName), org.apache.axis.Constants.XSD_STRING, ParameterMode.PARAM_MODE_INOUT);
    arrListInputParameters.add("D@nger0us");
    else if(strParamName.compareToIgnoreCase("userName") == 0)
    call.addParameter(new javax.xml.rpc.namespace.QName(strNameSpaceURI, strParamName), org.apache.axis.Constants.XSD_STRING, ParameterMode.PARAM_MODE_INOUT);
    arrListInputParameters.add("sanjeev");
    else if(strParamName.compareToIgnoreCase("description") == 0)
    call.addParameter(new javax.xml.rpc.namespace.QName(strNameSpaceURI, strParamName), org.apache.axis.Constants.XSD_STRING, ParameterMode.PARAM_MODE_INOUT);
    arrListInputParameters.add("Change Address");
    else if(strParamName.compareToIgnoreCase("subject") == 0)
    call.addParameter(new javax.xml.rpc.namespace.QName(strNameSpaceURI, strParamName), org.apache.axis.Constants.XSD_STRING, ParameterMode.PARAM_MODE_INOUT);
    arrListInputParameters.add("Credit Card");
    else if(strParamName.compareToIgnoreCase("category") == 0)
    call.addParameter(new javax.xml.rpc.namespace.QName(strNameSpaceURI, strParamName), org.apache.axis.Constants.XSD_STRING, ParameterMode.PARAM_MODE_INOUT);
    arrListInputParameters.add("");
    isInParam = false;
    else if(strParamName.compareToIgnoreCase("massRequestType") == 0)
    call.addParameter(new javax.xml.rpc.namespace.QName(strNameSpaceURI, strParamName), org.apache.axis.Constants.XSD_INTEGER, ParameterMode.PARAM_MODE_INOUT);
    arrListInputParameters.add((int) 1);
    isInParam = false;
    else
    call.addParameter(new javax.xml.rpc.namespace.QName(strNameSpaceURI, strParamName), org.apache.axis.Constants.XSD_STRING, ParameterMode.PARAM_MODE_INOUT);
    arrListInputParameters.add("");
    isInParam = false;
    /*if(isInParam)
    call.addParameter(strParamName, org.apache.axis.Constants.XSD_STRING, ParameterMode.PARAM_MODE_INOUT);
    //call.addParameter(strParamName, new javax.xml.rpc.namespace.QName(strNameSpaceURI, strParamName), ParameterMode.PARAM_MODE_INOUT);
    else
    call.addParameter(strParamName, new javax.xml.rpc.namespace.QName(strNameSpaceURI, strParamName), ParameterMode.PARAM_MODE_INOUT);
    /*inputParams = new Object[arrListInputParameters.size() + 1];
    inputParams[0] = "";
    for(int i = 1; i <= arrListInputParameters.size(); i++)
    inputParams[i] = arrListInputParameters.get(i - 1);
    inputParams = new Object[arrListInputParameters.size()];
    for(int i = 0; i < arrListInputParameters.size(); i++)
    inputParams[i] = arrListInputParameters.get(i);
    call.setReturnType(org.apache.axis.Constants.XSD_QNAME);
    //call.setReturnType(org.apache.axis.Constants.XSD_ANYTYPE);
    call.setTargetEndpointAddress(new URL("http://192.168.56.89:8080/axis2/services/testcenter8_V5_0WebService.testcenter8_V5_0WebServiceHttpSoap11Endpoint"));
    Object ret = call.invoke(inputParams);
    System.out.println("Result returned from call to " + serviceName + " -- " + ret);
    System.out.println("Finished");
    catch(java.net.MalformedURLException e)
    System.out.println("Error invoking service : " + e);
    e.printStackTrace();
    catch(javax.xml.rpc.ServiceException e2)
    System.out.println("Error invoking service : " + e2);
    e2.printStackTrace();
    catch(java.rmi.RemoteException e3)
    System.out.println("Error invoking service : " + e3);
    e3.printStackTrace();
    WSDL file:
    WSDL file:
    <?xml version="1.0" encoding="UTF-8" ?>
    <wsdl:definitions xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" xmlns:ns1="http://org.apache.axis2/xsd" xmlns:ns="http://V4_0.testcenter8" xmlns:wsaw="http://www.w3.org/2006/05/addressing/wsdl" xmlns:http="http://schemas.xmlsoap.org/wsdl/http/" xmlns:ax258="http://testcenter8.V4_0.testcenter8/xsd" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:ax257="http://V4_0.testcenter8/xsd" xmlns:mime="http://schemas.xmlsoap.org/wsdl/mime/" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:soap12="http://schemas.xmlsoap.org/wsdl/soap12/" targetNamespace="http://V4_0.testcenter8">
    <wsdl:types>
    <xs:schema xmlns:ax260="http://V4_0.testcenter8/xsd" attributeFormDefault="qualified" elementFormDefault="qualified" targetNamespace="http://V4_0.testcenter8">
    <xs:import namespace="http://V4_0.testcenter8/xsd" />
    <xs:element name="executeRuleset">
    <xs:complexType>
    <xs:sequence>
    <xs:element minOccurs="0" name="param0" nillable="true" type="ax257:testcenter8_V4_0_Req" />
    </xs:sequence>
    </xs:complexType>
    </xs:element>
    <xs:element name="executeRulesetResponse">
    <xs:complexType>
    <xs:sequence>
    <xs:element minOccurs="0" name="return" nillable="true" type="ax257:testcenter8_V4_0_Resp" />
    </xs:sequence>
    </xs:complexType>
    </xs:element>
    </xs:schema>
    <xs:schema xmlns:ax259="http://testcenter8.V4_0.testcenter8/xsd" attributeFormDefault="qualified" elementFormDefault="qualified" targetNamespace="http://V4_0.testcenter8/xsd">
    <xs:import namespace="http://testcenter8.V4_0.testcenter8/xsd" />
    <xs:complexType name="testcenter8_V4_0_Req">
    <xs:sequence>
    <xs:element minOccurs="0" name="cabinetName" nillable="true" type="xs:string" />
    <xs:element minOccurs="0" name="inputsobj" nillable="true" type="ax258:Inputs" />
    <xs:element minOccurs="0" name="loginReqd" type="xs:boolean" />
    <xs:element minOccurs="0" name="outputsobj" nillable="true" type="ax258:Outputs" />
    <xs:element minOccurs="0" name="password" nillable="true" type="xs:string" />
    <xs:element minOccurs="0" name="userName" nillable="true" type="xs:string" />
    </xs:sequence>
    </xs:complexType>
    <xs:complexType name="testcenter8_V4_0_Resp">
    <xs:sequence>
    <xs:element minOccurs="0" name="inputsobj" nillable="true" type="ax258:Inputs" />
    <xs:element minOccurs="0" name="outputsobj" nillable="true" type="ax258:Outputs" />
    </xs:sequence>
    </xs:complexType>
    </xs:schema>
    <xs:schema attributeFormDefault="qualified" elementFormDefault="qualified" targetNamespace="http://testcenter8.V4_0.testcenter8/xsd">
    <xs:complexType name="Inputs">
    <xs:sequence>
    <xs:element minOccurs="0" name="description" nillable="true" type="xs:string" />
    <xs:element minOccurs="0" name="subject" nillable="true" type="xs:string" />
    </xs:sequence>
    </xs:complexType>
    <xs:complexType name="Outputs">
    <xs:sequence>
    <xs:element minOccurs="0" name="category" nillable="true" type="xs:string" />
    <xs:element minOccurs="0" name="massRequestType" type="xs:int" />
    <xs:element minOccurs="0" name="subCategory" nillable="true" type="xs:string" />
    </xs:sequence>
    </xs:complexType>
    </xs:schema>
    </wsdl:types>
    <wsdl:message name="executeRulesetRequest">
    <wsdl:part name="parameters" element="ns:executeRuleset" />
    </wsdl:message>
    <wsdl:message name="executeRulesetResponse">
    <wsdl:part name="parameters" element="ns:executeRulesetResponse" />
    </wsdl:message>
    <wsdl:portType name="testcenter8_V4_0WebServicePortType">
    <wsdl:operation name="executeRuleset">
    <wsdl:input message="ns:executeRulesetRequest" wsaw:Action="urn:executeRuleset" />
    <wsdl:output message="ns:executeRulesetResponse" wsaw:Action="urn:executeRulesetResponse" />
    </wsdl:operation>
    </wsdl:portType>
    <wsdl:binding name="testcenter8_V4_0WebServiceSoap11Binding" type="ns:testcenter8_V4_0WebServicePortType">
    <soap:binding transport="http://schemas.xmlsoap.org/soap/http" style="document" />
    <wsdl:operation name="executeRuleset">
    <soap:operation soapAction="urn:executeRuleset" style="document" />
    <wsdl:input>
    <soap:body use="literal" />
    </wsdl:input>
    <wsdl:output>
    <soap:body use="literal" />
    </wsdl:output>
    </wsdl:operation>
    </wsdl:binding>
    <wsdl:binding name="testcenter8_V4_0WebServiceSoap12Binding" type="ns:testcenter8_V4_0WebServicePortType">
    <soap12:binding transport="http://schemas.xmlsoap.org/soap/http" style="document" />
    <wsdl:operation name="executeRuleset">
    <soap12:operation soapAction="urn:executeRuleset" style="document" />
    <wsdl:input>
    <soap12:body use="literal" />
    </wsdl:input>
    <wsdl:output>
    <soap12:body use="literal" />
    </wsdl:output>
    </wsdl:operation>
    </wsdl:binding>
    <wsdl:binding name="testcenter8_V4_0WebServiceHttpBinding" type="ns:testcenter8_V4_0WebServicePortType">
    <http:binding verb="POST" />
    <wsdl:operation name="executeRuleset">
    <http:operation location="testcenter8_V4_0WebService/executeRuleset" />
    <wsdl:input>
    <mime:content type="text/xml" part="executeRuleset" />
    </wsdl:input>
    <wsdl:output>
    <mime:content type="text/xml" part="executeRuleset" />
    </wsdl:output>
    </wsdl:operation>
    </wsdl:binding>
    <wsdl:service name="testcenter8_V4_0WebService">
    <wsdl:port name="testcenter8_V4_0WebServiceHttpSoap11Endpoint" binding="ns:testcenter8_V4_0WebServiceSoap11Binding">
    <soap:address location="http://192.168.56.89:8080/axis2/services/testcenter8_V4_0WebService.testcenter8_V4_0WebServiceHttpSoap11Endpoint/" />
    </wsdl:port>
    <wsdl:port name="testcenter8_V4_0WebServiceHttpSoap12Endpoint" binding="ns:testcenter8_V4_0WebServiceSoap12Binding">
    <soap12:address location="http://192.168.56.89:8080/axis2/services/testcenter8_V4_0WebService.testcenter8_V4_0WebServiceHttpSoap12Endpoint/" />
    </wsdl:port>
    <wsdl:port name="testcenter8_V4_0WebServiceHttpEndpoint" binding="ns:testcenter8_V4_0WebServiceHttpBinding">
    <http:address location="http://192.168.56.89:8080/axis2/services/testcenter8_V4_0WebService.testcenter8_V4_0WebServiceHttpEndpoint/" />
    </wsdl:port>
    </wsdl:service>
    </wsdl:definitions>

  • Call a web services from oracle forms 10

    I have to call a web services from oracle forms.
    The version of the database is oracle 11gr2. the version of the forms is 10.1.2.0.2.
    I allready did the proxy creation and the import class within forms.
    I have 2 questions:
    1.
    I created the following procedure:
    PROCEDURE call_WS IS
         vobject1 ORA_JAVA.JOBJECT;
         vobject2 ORA_JAVA.JOBJECT;
    BEGIN
    vobject1 := WSEvaluarReglaCondicionComerci.new();
    vobject2 := WSEvaluarReglaCondicionComerci.listarValoresAtributoEvento(vobject1, 702, 2217, null, null, null);
    END;
    the function I calling:
    FUNCTION listarValoresAtributoEvento(
    obj ORA_JAVA.JOBJECT,
    a0 ORA_JAVA.JOBJECT,
    a1 ORA_JAVA.JOBJECT,
    a2 ORA_JAVA.JOBJECT,
    a3 VARCHAR2,
    a4 ORA_JAVA.JOBJECT) RETURN ORA_JAVA.JOBJECT;
    Note that the parameters is ORA_JAVA_JOBJECT and I need to send numbers. I understand that when I import the classes, because in the WS those parameters are defined as BigDecimal, Forms understand them as java object but when I compile it reports the error: "numero o tipo de argumento erroneo al llamar..." type error.
    So the question is, how Cast the numbers to Java Object to send them.
    I have read in a web page that one option is to change in the web service the type of the parameters but that is not an option.
    2.
    The WS returns a super big XML as answer, so how I can parse the result into an Object type?...
    The object structure is:
    TYPE opciones_obj AS OBJECT
    (strindice VARCHAR2 (4000),
    nombrecompleto VARCHAR2 (4000),
    nombre VARCHAR2 (4000),
    strtipodato VARCHAR2 (4000),
    codigoopcion NUMBER,
    floatval FLOAT,
    strtipo VARCHAR2 (4000),
    strval VARCHAR2 (4000));
    and the tags to extract is:
    COLUMNS strindice VARCHAR2 (4000)
    PATH 'ns2:mapEntry[ns2:key="strIndice"]/ns2:value',
    nombrecompleto VARCHAR2 (4000)
    PATH 'ns2:mapEntry[ns2:key="nombreCompleto"]/ns2:value',
    nombre VARCHAR2 (4000)
    PATH 'ns2:mapEntry[ns2:key="nombre"]/ns2:value',
    strtipodato VARCHAR2 (4000)
    PATH 'ns2:mapEntry[ns2:key="strTipoDato"]/ns2:value',
    codigoopcion NUMBER
    PATH 'ns2:mapEntry[ns2:key="codigoOpcion"]/ns2:value',
    floatval FLOAT
    PATH 'ns2:mapEntry[ns2:key="floatVal"]/ns2:value',
    strtipo VARCHAR2 (4000)
    PATH 'ns2:mapEntry[ns2:key="strTipo"]/ns2:value',
    strval VARCHAR2 (4000)
    PATH 'ns2:mapEntry[ns2:key="strVal"]/ns2:value') x;
    xquery / xmltype aparently is not an option because the xml is too big.
    I will appreciate your answers.
    Thanks.
    Edited by: user13058213 on 26-ene-2012 16:02

    i created jar file to call it from forms
    Could you be a little bit less vague about what you exactly did?
    Anyway; see here http://bit.ly/10VVoMR
    cheers

  • 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                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                       

  • Getting Timed out exception while calling a web service

    Hi,
    when i am invoking a web service(using routing), the osb proxy is getting timed out before receiving the response from routed service.
    Also we are not aware of how much response time the routed service will take. so apart from increasing the connection time is there any alternate solution?
    can any one suggest.

    I do not think there is any other way apart from increasing timeouts to call a web service from OSB synchronously which is taking a long time.
    Other alternatives are either to make the service asynchronous delyed request response type, which will mean a change at the backend webservice.
    Ideally synchronous web services are designed to respond within a few seconds and not take minutes for processing. I would say that if the backend web service is taking more than a minute then they need to either tune their service performance better so it responds faster OR change it to an asynchronous service.

  • 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
    Bob

    Hi 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
    Matthias

    No, 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

  • 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)

  • 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,
    Sagar

    Got 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,
    Imtool

    hello 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

  • 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
    Winsky

    duplicate 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 .
    -Abhijeet

    Here'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

Maybe you are looking for