Methods of a BO's Web Service

Hi All,
I have modeled a BO and generated a Web Service for it. However, this Web Service only provides the CRUD Methods. Methods such as findAll etc. are not being provided.
How can I have the Web Service provide these Methods, too?
Thanks, Johannes

Hi,
Refer [help documentation |http://help.sap.com/saphelp_nwce711/helpdata/en/25/70dd16cf024daf88c7d26164929a3c/content.htm]or service composition documents  in [SAP NW CE 7.1 tutorial center |http://www.sdn.sap.com/irj/sdn/nw-development;jsessionid=(J2EE3417600)ID0015122950DB11201547062197812075End?rid=/webcontent/uuid/903c2cdb-98d6-2a10-84b7-ab22535de11a]to know how to create application service and calling BO operation from it.

Similar Messages

  • Get_xplan_msc, How Do I call this method??? , xml, web service, wsdl,dataProvider="{myServiceXML.lastResult.DataSet}"

    Result:
    <wsdl:definitions targetNamespace="
    http://tempuri.org/" xmlns:soap="
    http://schemas.xmlsoap.org/wsdl/soap/"
    xmlns:tm="
    http://microsoft.com/wsdl/mime/textMatching/"
    xmlns:soapenc="
    http://schemas.xmlsoap.org/soap/encoding/"
    xmlns:mime="
    http://schemas.xmlsoap.org/wsdl/mime/"
    xmlns:tns="
    http://tempuri.org/" xmlns:s="
    http://www.w3.org/2001/XMLSchema"
    xmlns:soap12="
    http://schemas.xmlsoap.org/wsdl/soap12/"
    xmlns:http="
    http://schemas.xmlsoap.org/wsdl/http/"
    xmlns:wsdl="
    http://schemas.xmlsoap.org/wsdl/">
    <wsdl:types>
    <s:schema elementFormDefault="qualified"
    targetNamespace="
    http://tempuri.org/">
    <s:element name="Get_xplan_tpu">
    <s:complexType/>
    </s:element>
    <s:element name="Get_xplan_tpuResponse">
    <s:complexType>
    <s:sequence>
    <s:element minOccurs="0" maxOccurs="1"
    name="Get_xplan_tpuResult">
    <s:complexType>
    <s:sequence>
    <s:element ref="s:schema"/>
    <s:any/>
    </s:sequence>
    </s:complexType>
    </s:element>
    </s:sequence>
    </s:complexType>
    </s:element>
    <s:element name="Get_xplan_msc">
    <s:complexType/>
    etc....
    <?xml version="1.0" encoding="utf-8" ?>
    - <DataSet xmlns="
    http://tempuri.org/">
    + <xs:schema id="NewDataSet" xmlns="" xmlns:xs="
    http://www.w3.org/2001/XMLSchema"
    xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
    - <xs:element name="NewDataSet" msdata:IsDataSet="true"
    msdata:UseCurrentLocale="true">
    - <xs:complexType>
    - <xs:choice minOccurs="0" maxOccurs="unbounded">
    - <xs:element name="xplan_MSC_Planning">
    - <xs:complexType>
    - <xs:sequence>
    <xs:element name="MSC" type="xs:string" minOccurs="0"
    />
    <xs:element name="Date" type="xs:dateTime" minOccurs="0"
    />
    <xs:element name="Traffic" type="xs:decimal"
    minOccurs="0" />
    <xs:element name="Radios" type="xs:int" minOccurs="0"
    />
    <xs:element name="InstalledCapacity" type="xs:int"
    minOccurs="0" />
    </xs:sequence>
    </xs:complexType>
    </xs:element>
    </xs:choice>
    </xs:complexType>
    </xs:element>
    </xs:schema>
    - <diffgr:diffgram
    xmlns:msdata="urn:schemas-microsoft-com:xml-msdata"
    xmlns:diffgr="urn:schemas-microsoft-com:xml-diffgram-v1">
    - <NewDataSet xmlns="">
    - <xplan_MSC_Planning diffgr:id="xplan_MSC_Planning1"
    msdata:rowOrder="0">
    <MSC>NYGMSC01</MSC>
    <Date>2007-06-24T00:00:00-07:00</Date>
    <Traffic>12730.8400</Traffic>
    <Radios>676</Radios>
    <InstalledCapacity>12342</InstalledCapacity>
    </xplan_MSC_Planning>
    <?xml version="1.0" encoding="utf-8"?>
    <mx:Application xmlns:mx="
    http://www.adobe.com/2006/mxml"
    layout="absolute"
    backgroundColor="#f6f6f6"
    backgroundGradientColors="[#f6f6f6, #bbbbbb]"
    creationComplete="myServiceXML.send()">
    <!-- Script -->
    <!-- Our result handler functions get any value returned
    from the server -->
    <mx:Script>
    <![CDATA[
    import mx.collections.ArrayCollection;
    // you import the event classes for strong typing
    import mx.rpc.events.ResultEvent;
    import mx.rpc.events.FaultEvent;
    public function handleResultXML(event:ResultEvent):void {
    // the result object is your xml root
    lastResultValue.text = "Result:\n" + event.result;
    // you get the row nodes of your result object
    http://localhost:1343/***/DataService.asmx?op=Get_xplan_msc
    // the data of the dataprovider populates the component
    http://www.flexcapacitor.com/examples/php/datagrid_xml.php
    myDataGrid.dataProvider = event.result.row;
    // this function is called when you get an error from the
    server
    http://localhost:1343/***/DataService.asmx?wsdl
    public function handleFault(event:FaultEvent):void {
    lastResultValue.text = "Fault: " + event.fault.faultDetail;
    //trace(myServiceXML.toXMLString());
    // var myService:XML = XML(event.result);
    //trace(myService.toXMLString());
    ]]>
    </mx:Script>
    <!-- Data Communications -->
    <!-- The url is the page you post to -->
    <!-- In the request object you add your name and value
    pairs -->
    <!-- The curly brackets surrounding "username.text" get
    the value of username.text -->
    <!-- Note: The curly brackets are also used for
    databinding where supported -->
    <!-- Note: We set the resultFormat to E4X to
    automatically convert your return string to an XML object with E4X
    support -->
    <mx:HTTPService id="myServiceXML" url="
    http://localhost:1343/***/DataService.asmx?wsdl"
    method="POST" result="handleResultXML(event)"
    fault="handleFault(event)"
    useProxy="false" resultFormat="e4x">
    </mx:HTTPService>
    <!-- Layout -->
    <mx:Label x="10" y="10" text="Populate DataGrid with XML"
    fontSize="20" fontWeight="bold"/>
    <mx:HRule x="10" y="49" width="80%"/>
    <mx:Button id="submit0" x="10" y="73" label="Get XML"
    click="myServiceXML.send()"/>
    <mx:Label x="10" y="228" text="Result"/>
    <mx:DataGrid id="myDataGrid" x="10" y="114" width="611"
    height="106" dataProvider="{myServiceXML.lastResult.DataSet}">
    <mx:columns>
    <mx:DataGridColumn headerText="xplan_MSC_Planning"
    dataField="Traffic"/>
    <mx:DataGridColumn headerText="MSC" dataField="MSC"/>
    </mx:columns>
    </mx:DataGrid>
    <mx:TextArea x="10" y="244" width="611" height="400"
    id="lastResultValue"/>
    </mx:Application>

    I haven't been able to see the results from my web service.
    I'm seeing this error.
    It might be an internal security issue...I'm not sure
    why...any help is greatly
    appreciated.
    David
    - <s:element name="Get_xplan_msc">
    <s:complexType />
    </s:element>
    - <s:element name="Get_xplan_mscResponse">
    - <s:complexType>
    - <s:sequence>
    - <s:element minOccurs="0" maxOccurs="1"
    name="Get_xplan_mscResult">
    - <s:complexType>
    - <s:sequence>
    <s:element ref="s:schema" />
    <s:any />
    </s:sequence>
    </s:complexType>
    </s:element>
    </s:sequence>
    </s:complexType>
    </s:element>
    [WSDLError faultString="Element
    http://tempuri.org/:Get_xplan_mscResponse
    not resolvable" faultCode="WSDL.BadElement" faultDetail="null"]
    at mx.rpc.soap::WSDLParser/
    http://www.adobe.com/2006/flex/mx/internal::parseMessage()
    at mx.rpc.soap::WSDLOperation/parseMessages()
    at mx.rpc.soap::Operation/
    http://www.adobe.com/2006/flex/mx/internal::invokePendingCall()
    at mx.rpc.soap::Operation/
    http://www.adobe.com/2006/flex/mx/internal::invokeAllPending()
    at mx.rpc.soap::WebService/::unEnqueueCalls()
    at mx.rpc.soap::WebService/
    http://www.adobe.com/2006/flex/mx/internal::wsdlHandler()
    at
    flash.events::EventDispatcher/flash.events:EventDispatcher::dispatchEventFunction()
    at flash.events::EventDispatcher/dispatchEvent()
    at mx.rpc.soap::WSDLParser/dispatchEvent()
    at mx.rpc.soap::WSDLParser/::parseCompleted()
    at mx.rpc.soap::WSDLParser/
    http://www.adobe.com/2006/flex/mx/internal::httpResultHandler()
    at
    flash.events::EventDispatcher/flash.events:EventDispatcher::dispatchEventFunction()
    at flash.events::EventDispatcher/dispatchEvent()
    at mx.rpc::AbstractInvoker/
    http://www.adobe.com/2006/flex/mx/internal::dispatchRpcEvent()
    at mx.rpc::AbstractInvoker/
    http://www.adobe.com/2006/flex/mx/internal::resultHandler()
    at mx.rpc::Responder/result()
    at mx.rpc::AsyncRequest/acknowledge()
    at ::DirectHTTPMessageResponder/completeHandler()
    at
    flash.events::EventDispatcher/flash.events:EventDispatcher::dispatchEventFunction()
    at flash.events::EventDispatcher/dispatchEvent()
    at flash.net::URLLoader/flash.net:URLLoader::onComplete()
    <?xml version="1.0" encoding="utf-8"?>
    <mx:Application xmlns:mx="
    http://www.adobe.com/2006/mxml"
    layout="absolute"
    backgroundColor="#f6f6f6"
    backgroundGradientColors="[#f6f6f6, #bbbbbb]"
    creationComplete="getXplan_MSC()">
    <!-- Script -->
    <!-- Our result handler functions get any value returned
    from the server -->
    <mx:Script>
    <![CDATA[
    import mx.collections.ArrayCollection;
    // you import the event classes for strong typing
    import mx.rpc.events.ResultEvent;
    import mx.rpc.events.FaultEvent;
    import mx.controls.dataGridClasses.DataGridColumn;
    import mx.managers.CursorManager;
    import mx.controls.Alert;
    default xml namespace = "
    http://localhost:1343";
    //necessary to access the xml elements easily
    [Bindable]private var _xmlResult:XML; //holds the result xml
    [Bindable]private var _xlDayData:XMLList; //dataProvider for
    the day weather dataGrid
    [Bindable]private var _sPlace:String;
    /** invokes the web service operation to get the weather */
    private function getXplan_MSC():void
    CursorManager.setBusyCursor();
    WS.Get_xplan_msc.send();
    //lastResultValue.text = "Result:\n" +
    event.result.Get_xplan_msc;
    /** called by the WebService result event. Sets the
    dataProviders as necessary */
    private function onResult(oEvent:ResultEvent):void
    _xmlResult = XML(oEvent.result);
    //var xmlResultNode:XML = _xmlResult.Get_xplan_mscResult[0];
    // var xmlDetailsNode:XML = xmlResultNode.Details[0];
    //outputInfo.text = xmlDetailsNode.toXMLString();
    //outputInfo.text = _xlDayData.text();
    // outputInfo.text = _xmlResult.toXMLString();
    // outputInfo.text = xmlResultNode.MSC.text();// + ", " +
    xmlResultNode.StateCode.text();
    // _xlDayData =
    xmlDetailsNode.toXMLString();//Get_xplan_mscResult[0];
    outputInfo.text = _xmlResult.text();
    CursorManager.removeBusyCursor();
    }//onResult
    /** labelFunction for DataGrid. It seems that the namespace
    on the xml makes
    * using the DataGridColumn dataField not work. At least I
    couldn't get it to work. */
    public function handleResultXML(event:ResultEvent):void {
    // the result object is your xml root
    lastResultValue.text = "Result:\n" +
    event.result.Get_xplan_msc;
    // you get the row nodes of your result object
    http://localhost:1343/***/DataService.asmx?op=Get_xplan_msc
    // the data of the dataprovider populates the component
    http://www.flexcapacitor.com/examples/php/datagrid_xml.php
    //myDataGrid.dataProvider = event.result.row[0];
    // this function is called when you get an error from the
    server
    http://localhost:1343/***/DataService.asmx?wsdl
    public function handleFault(event:FaultEvent):void {
    lastResultValue.text = "Fault: " + event.fault.faultDetail;
    lastResultValue.text = "Fault: " + event.fault.faultDetail;
    //trace(myServiceXML.toXMLString());
    // var myService:XML = XML(event.result);
    //trace(myService.toXMLString());
    ]]>
    </mx:Script>
    <!-- Data Communications -->
    <!-- The url is the page you post to -->
    <!-- In the request object you add your name and value
    pairs -->
    <!-- The curly brackets surrounding "username.text" get
    the value of username.text -->
    <!-- Note: The curly brackets are also used for
    databinding where supported -->
    <mx:WebService id="WS" wsdl="
    http://localhost:1343/***/DataService.asmx?wsdl">
    <mx:operation name="Get_xplan_msc" resultFormat="e4x"
    />
    </mx:WebService>
    <!-- Layout -->
    <mx:Label x="10" y="10" text="Populate Chart with XML"
    fontSize="20" fontWeight="bold"/>
    <mx:HRule x="10" y="49" width="80%"/>
    <mx:Button id="submit0" x="139" y="199" label="Get XML"
    click="getXplan_MSC()"/>
    <mx:Label x="10" y="228" text="Result"/>
    <mx:TextArea x="10" y="244" width="333" height="400"
    id="lastResultValue"/>
    <mx:TextArea x="377" width="354" height="400"
    id="outputInfo" y="244"/>
    <!--
    <mx:ColumnChart x="243" y="80" id="columnchart1"
    width="293" height="115" dataProvider="">
    <mx:series>
    <mx:ColumnSeries displayName="Date" yField="Date"/>
    <mx:ColumnSeries displayName="MSC" yField="MSC"/>
    <mx:ColumnSeries displayName="Traffic"
    yField="Traffic"/>
    <mx:ColumnSeries displayName="Radios"
    yField="Radios"/>
    </mx:series>
    </mx:ColumnChart>
    <mx:Legend dataProvider="{columnchart1}" x="108"
    y="100"/>
    -->
    </mx:Application>

  • Unable to expose a method in web service

    Hi,
    My scenario is to expose a method in service. This method will take date as input & should return all the rows.
    To Implement this, I took employeeVO of HR DB(Employees Table) & created a ViewCriteria "GetEmpbyHireDate" with Hiredate as input param.
    & in AMImpl the code is
    public BaseEmployeeVOImpl getEmployeesByHireDate(Date hiredate){
    BaseEmployeeVOImpl baseEmployeeVO = (BaseEmployeeVOImpl) findViewObject("BaseEmployee1");
    baseEmployeeVO.setApplyViewCriteriaName("GetEmpbyHireDate");
    baseEmployeeVO.setNamedWhereClauseParam("pHireDate", hiredate);
    baseEmployeeVO.executeQuery();
    return baseEmployeeVO;
    The issue is I'm not able to see this method in "Available" list of Web Service Wizard.
    Help me in understanding what is missing ?
    Thanks in advance.
    P.S. from Jdev Help I understood that "Only methods with simple attributes as parameters and return types that are either void or view rows will appear in the list." & my method is returning rows of a EmployeeVO.

    Hi,
    2 comments:
    1) View Criteria can be directly exposed as find methods. Its on the last wizard page (just click the View Criteria tab). So no need for an Impl method
    2) If you wanted to expose a method, then the documentation I think is crystal clear: "oracle.jbo.server.ViewRowImpl or any subtype" Your method returns BaseEmployeeVOImpl (see the difference ?)
    Frank

  • Invoking a web service - cannot resolve method parameter

    I am getting a failure trying to invoking a method called sl_Access on a web service.
    (Same code worked in Workshop 7.1, but fails in Workshop 8.0. The WDSL has not
    changed.) WLW is not able to revolve a method parameter called piCustNo. The service
    call works in WLW 7.1, but not 8.0.
    Any insight on how to fix this problem?
    The service call
    private AnonType_sl_AccessResponse response = null;
    nlastid = response.piLastId;
    the service definition from wsdlControl.jcx ----
    * @jc:protocol form-post="false" form-get="false" http-soap="true"
    public AnonType_sl_AccessResponse sl_Access (int piCustno);
    console error output -----
    Submitted at Wednesday, October 8, 2003 2:15:22 PM EDT
    Exception in sl_Access
    com.bea.control.ServiceControlException:
    SOAP-ENV:Client
    An error was detected in the Web Service request. (10894)
    Cannot resolve method sl_Access parameter ns:piCustno (10933)e91a6247e9b693c3:-1b6d127:f811fed2db:-8000#17
    at com.bea.wlw.runtime.core.control.ServiceControlImpl.invoke(ServiceControlImpl.jcs:846)
    at com.bea.wlw.runtime.core.dispatcher.DispMethod.invoke(DispMethod.java:359)
    at com.bea.wlw.runtime.core.container.Invocable.invoke(Invocable.java:420)
    at com.bea.wlw.runtime.core.container.Invocable.invoke(Invocable.java:393)
    at com.bea.wlw.runtime.jcs.container.JcsProxy.invoke(JcsProxy.java:387)
    at $Proxy11.sl_Access(Unknown Source)
    at com.ovid.service.AccessService.getRepl(AccessService.java:93)
    at com.ovid.service.AccessService.processBatch(AccessService.java:71)
    at Controller.runAccess(Controller.jws:399)

    see:
    http://newsgroups.bea.com/cgi-bin/dnewsweb?cmd=article&group=weblogic.developer.interest.workshop&item=1730
    Joe Smith wrote:
    >
    I am getting a failure trying to invoking a method called sl_Access on a web service.
    (Same code worked in Workshop 7.1, but fails in Workshop 8.0. The WDSL has not
    changed.) WLW is not able to revolve a method parameter called piCustNo. The service
    call works in WLW 7.1, but not 8.0.
    Any insight on how to fix this problem?
    The service call
    private AnonType_sl_AccessResponse response = null;
    nlastid = response.piLastId;
    the service definition from wsdlControl.jcx ----
    * @jc:protocol form-post="false" form-get="false" http-soap="true"
    public AnonType_sl_AccessResponse sl_Access (int piCustno);
    console error output -----
    Submitted at Wednesday, October 8, 2003 2:15:22 PM EDT
    Exception in sl_Access
    com.bea.control.ServiceControlException:
    SOAP-ENV:Client
    An error was detected in the Web Service request. (10894)
    Cannot resolve method sl_Access parameter ns:piCustno (10933)e91a6247e9b693c3:-1b6d127:f811fed2db:-8000#17
    at com.bea.wlw.runtime.core.control.ServiceControlImpl.invoke(ServiceControlImpl.jcs:846)
    at com.bea.wlw.runtime.core.dispatcher.DispMethod.invoke(DispMethod.java:359)
    at com.bea.wlw.runtime.core.container.Invocable.invoke(Invocable.java:420)
    at com.bea.wlw.runtime.core.container.Invocable.invoke(Invocable.java:393)
    at com.bea.wlw.runtime.jcs.container.JcsProxy.invoke(JcsProxy.java:387)
    at $Proxy11.sl_Access(Unknown Source)
    at com.ovid.service.AccessService.getRepl(AccessService.java:93)
    at com.ovid.service.AccessService.processBatch(AccessService.java:71)
    at Controller.runAccess(Controller.jws:399)

  • How to create a generic method which invokes Web Service

    Hi I have a question how to create Web Service client. In design mode I can't specify static url ?WSDL and process.
    I found briliant method in apache cxf library.
    for example
    JaxWsDynamicClientFactory dcf = JaxWsDynamicClientFactory.newInstance();
    Client clientA = dcf.createClient("http://soabpm-vm:8001/soa-infra/services/default/MailSender/mailsender_client_ep?WSDL");
    Object[] resultA;
    try{
    resultA = clientA.invoke(new QName("http://xmlns.oracle.com/SynchDSBpel20/MailSender/MailSender", "process"), "@", "body", "topic");
    }catch (Exception e){}
    In my case I should create a method with params (urls ?WSDL, URI, operetion name, param1, praram2, param3)
    Is there anything like CXF in ADF library's?

    This can be very easily done using a web service proxy (Select web services from the categories and web service proxy from the items).
    In the "Create Web Service Proxy" wizard, make sure you select JAX-WS client style. JDeveloper will use the JAX-WS web service API and JAXB (Java Architecture for XML Binding) to generate all required classes and methods required to call a web services, binding Java method signatures to WSDL messages and operations.
    Regards
    Antonis

  • Exception while exposing Application Module Methods as Web Service

    Hello Everyone,
    I am working on Jdeveloper 11.1.1.3.0 version and tried to expose one method of application module as web service. To do this, i used "Service Interface" tab of Application module within Jdeveloper and Jdeveloper had generated all interfaces, stubs, code for the Session bean required for web service. I am now trying to "Test Web Service" from the implementation class generated then i am getting this error in Weblogic deployment. Any help/pointers would be highly appreciated.
    I used another installation of Jdeveloper same version at my collegues desktop but getting the same error. Not sure, if this version of Jdeveloper is having issue in exposing application module as web service. I think that database related exception can be ignored as no database call is being made by the application.
    [Running application SalaryControlService on Server Instance IntegratedWebLogicServer...]
    [10:41:26 AM] ---- Deployment started. ----
    [10:41:26 AM] Target platform is (Weblogic 10.3).
    [10:41:27 AM] Retrieving existing application information
    [10:41:27 AM] Running dependency analysis...
    [10:41:27 AM] Deploying 2 profiles...
    [10:41:27 AM] Wrote EJB Module to C:\Documents and Settings\sacggupt\Application Data\JDeveloper\system11.1.1.3.37.56.60\o.j2ee\drs\SalaryControlService\ModelEJB.jar
    [10:41:28 AM] Wrote Enterprise Application Module to C:\Documents and Settings\sacggupt\Application Data\JDeveloper\system11.1.1.3.37.56.60\o.j2ee\drs\SalaryControlService
    [10:41:29 AM] java.lang.NullPointerException
    [10:41:29 AM]      at oracle.j2ee.ws.tools.wsa.jaxws.AssemblerProcessor.getClassNamesFromEjb(AssemblerProcessor.java:180)
    [10:41:29 AM]      at oracle.j2ee.ws.tools.wsa.jaxws.AssemblerProcessor.processEjb(AssemblerProcessor.java:149)
    [10:41:29 AM]      at oracle.j2ee.ws.tools.wsa.jaxws.JaxwsEjbAssembler.processEjb(JaxwsEjbAssembler.java:182)
    [10:41:29 AM]      at oracle.j2ee.ws.tools.wsa.jaxws.JaxwsEjbAssembler.ejbAssemble(JaxwsEjbAssembler.java:152)
    [10:41:29 AM]      at oracle.j2ee.ws.tools.wsa.cli.Processor.jaxwsEjbAssemble(Processor.java:630)
    [10:41:29 AM]      at oracle.j2ee.ws.tools.wsa.cli.Processor.execute(Processor.java:327)
    [10:41:29 AM]      at oracle.j2ee.ws.tools.wsa.cli.Processor.execute(Processor.java:230)
    [10:41:29 AM]      at oracle.j2ee.ws.tools.wsa.Main.mainNoSystemExit(Main.java:84)
    [10:41:29 AM]      at oracle.j2ee.ws.tools.wsa.Main.main(Main.java:49)
    [10:41:29 AM] WARNING: Error while processing ejb-jar.xml for ejb module at "C:\Documents and Settings\sacggupt\Application Data\JDeveloper\system11.1.1.3.37.56.60\o.j2ee\drs\SalaryControlService\ModelEJB.jar".
    [10:41:29 AM] INFO: Unable to load annotation weblogic.javaee.CallByReference for parsing. The annotation is ignored.
    [10:41:29 AM] INFO: Unable to load annotation weblogic.javaee.CallByReference for parsing. The annotation is ignored.
    [10:41:29 AM] INFO: GenericWSWarAnnotationListener.parseAnnotatedClass Adding Servlet Mapping with URL pattern /HrModuleService for annotated WebService class lt.andrejusb.model.server.serviceinterface.HrModuleServiceImpl
    [10:41:30 AM] WSA process exited with code 0
    [10:41:30 AM] Deploying Application...
    <Jan 3, 2011 10:41:31 AM IST> <Warning> <J2EE> <BEA-160195> <The application version lifecycle event listener oracle.security.jps.wls.listeners.JpsAppVersionLifecycleListener is ignored because the application SalaryControlService is not versioned.>
    <ServerMessages><warningMBeanRegisterError> Failed to register the web service Config MBeans for application: SalaryControlService endpoint: SalaryControlService the error is: oracle.as.jmx.framework.util.MissingConfigurationFileException: The configuration at URI "WEB-INF\oracle-webservices.xml" cannot be loaded.
    [10:41:36 AM] Application Deployed Successfully.
    [10:41:36 AM] The following URL context root(s) were defined and can be used as a starting point to test your application:
    [10:41:36 AM] http://10.176.162.16:7101/SalaryControlService
    [10:41:36 AM] Elapsed time for deployment: 9 seconds
    [10:41:36 AM] ---- Deployment finished. ----
    Run startup time: 9391 ms.
    [Application SalaryControlService deployed to Server Instance IntegratedWebLogicServer]
    Target URL -- http://localhost:7101/SalaryControlService/HrModuleService
    Edited by: LearningToFly on Jan 2, 2011 9:13 PM

    Hello,
    Is this resolved yet? The reason I am asking is that I'm getting the same error as yours. I am trying to run the StoreFront tutorial in JDeveloper 11.1.1.3 and here's what I got:
    [04:21:31 PM] ---- Deployment started. ----
    [04:21:31 PM] Target platform is (Weblogic 10.3).
    [04:21:32 PM] Retrieving existing application information
    [04:21:32 PM] Running dependency analysis...
    [04:21:32 PM] Deploying 4 profiles...
    [04:21:32 PM] Wrote MAR file to C:\Documents and Settings\ylin\Application Data\JDeveloper\system11.1.1.3.37.56.60\o.j2ee\drs\StoreFrontModule\metadata1.mar
    [04:21:33 PM] Wrote Web Application Module to C:\Documents and Settings\ylin\Application Data\JDeveloper\system11.1.1.3.37.56.60\o.j2ee\drs\StoreFrontModule\StoreFrontUIWebApp.war
    [04:21:38 PM] Wrote EJB Module to C:\Documents and Settings\ylin\Application Data\JDeveloper\system11.1.1.3.37.56.60\o.j2ee\drs\StoreFrontModule\StoreFrontServiceEJB.jar
    [04:21:40 PM] Wrote Enterprise Application Module to C:\Documents and Settings\ylin\Application Data\JDeveloper\system11.1.1.3.37.56.60\o.j2ee\drs\StoreFrontModule
    [04:21:41 PM] java.lang.NullPointerException
    [04:21:41 PM]      at oracle.j2ee.ws.tools.wsa.jaxws.AssemblerProcessor.getClassNamesFromEjb(AssemblerProcessor.java:180)
    [04:21:41 PM]      at oracle.j2ee.ws.tools.wsa.jaxws.AssemblerProcessor.processEjb(AssemblerProcessor.java:149)
    [04:21:41 PM]      at oracle.j2ee.ws.tools.wsa.jaxws.JaxwsEjbAssembler.processEjb(JaxwsEjbAssembler.java:182)
    [04:21:41 PM]      at oracle.j2ee.ws.tools.wsa.jaxws.JaxwsEjbAssembler.ejbAssemble(JaxwsEjbAssembler.java:152)
    [04:21:41 PM]      at oracle.j2ee.ws.tools.wsa.cli.Processor.jaxwsEjbAssemble(Processor.java:630)
    [04:21:41 PM]      at oracle.j2ee.ws.tools.wsa.cli.Processor.execute(Processor.java:327)
    [04:21:41 PM]      at oracle.j2ee.ws.tools.wsa.cli.Processor.execute(Processor.java:230)
    [04:21:41 PM]      at oracle.j2ee.ws.tools.wsa.Main.mainNoSystemExit(Main.java:84)
    [04:21:41 PM]      at oracle.j2ee.ws.tools.wsa.Main.main(Main.java:49)
    [04:21:41 PM] WARNING: Error while processing ejb-jar.xml for ejb module at "C:\Documents and Settings\ylin\Application Data\JDeveloper\system11.1.1.3.37.56.60\o.j2ee\drs\StoreFrontModule\StoreFrontServiceEJB.jar".
    [04:21:41 PM] INFO: Unable to load annotation weblogic.javaee.CallByReference for parsing. The annotation is ignored.
    [04:21:41 PM] INFO: Unable to load annotation javax.interceptor.Interceptors for parsing. The annotation is ignored.
    [04:21:41 PM] INFO: Unable to load annotation weblogic.javaee.CallByReference for parsing. The annotation is ignored.
    [04:21:41 PM] INFO: Unable to load annotation javax.interceptor.Interceptors for parsing. The annotation is ignored.
    [04:21:41 PM] INFO: GenericWSWarAnnotationListener.parseAnnotatedClass Adding Servlet Mapping with URL pattern /StoreFron
    Can someone help with this? Thank you in advance!
    Edited by: 834077 on Mar 5, 2011 6:28 AM

  • How to expose custom methods of servlet as web services

    Can i know how to expose the custom methods of the servlet as web services. if it is not posssible then what alternate ways are possible other than ejbs?
    regards

    Hi
    I want to know that whether the custom methods of servlet can be exposed as webservices or not?
    Secondly is there init method like we have in servlets so that we can do all the one time loading in the init() method.
    regards

  • Exposing Java method as Web service

    Hello,
    I would like to know how can I make a Java Method expose as a webservice using BPEL.
    I have created a java class To do some processing. I want to make this as a service. Is there any sample code to do this? Please provide any links..

    If you used the Web Service Wizard the easiest thing to do is:
    1. Delete the WS class - when prompted also delete all artifacts - you should now see your original class files. *
    2. Add extra methods.
    3. Regenerate web service using same parameters as previously (make sure you use the same namespaces).
    (4. Apply any customisations you made)
    *Occasionally this will not work and will not remove the references to the WS artifacts from the project file, in this case you will need to manually remove them from the project xml file.
    You can also edit the project to make the classes visible (can't remember the exact steps for this, it's been a while), change the classes and regenerate services, however this will overwrite any customisations you have made, so is little different to removing the artifacts and regenerating.
    Finally you can make the classes visible as above, updatethem and then manually edit the other web service artefacts (<name>-java-wsdl-mapping.xml,webservices.xml, oracle-webservices .xml, Interface, etc). This is a lot more tedious than using autogeneration.

  • Problems creating a web service that uses the report generation toolkit

    Hi,
           Im trying to develop a web service using labview 2013.
    I create a html form that is correctly communicating with my labview method and part of the web service functionality is to create a report from the data obtained in the html form published.
    I realized that using the report generation toolkit inside of the web service method the server cannot generate a report. ( If I run the same Vi before publishing the web service it works on the server but it doesnt work after I deploy it)
    I thought that maybe Im unable to use the report generation toolkit VIs inside of the web service because Im not incluiding the (dynamic VIs labview uses when they run), I tried to add the excel dynamic library to the proyect but with no success.
    I also tried to use VI SERVER to call a VI that generates the report using the report generation toolkit  in the method that runs when the web service is call but  it doesnt work either.
    How can I deploy a web service able to use  the report generation toolkit ?, how can I deploy a web service able to use VI server ?
    Any help is really appreciated.
    Erwin Franz 
    Erlab

    The issue you are running into is actually a limitation intended by Microsoft.  They don't want windows services to be able to call into the ActiveX interface for Microsoft Office for security reasons.  If you are deploying your web service to the NI Application Web Server on Windows you will run into this problem since the web server is a Windows Service.
    While I haven't tested this, you may be able to work around this by packaging your Web service with a LabVIEW EXE rather than deploying to the NI Application Web server. 
    Mark
    LabVIEW R&D

  • How to move data connections with SOAP web service in different environments in InfoPath Forms 2010

    Hello,
    I've an InfoPath Form where I've around 10 SOAP web service data connections. They are calling a custom web service for a custom business process. The web service URL has a query string parameter which identifies whether it's a Test web service or the Production
    one. The web service URL looks like this:
    http://server/webservice/wsdl?targetURI=testSPRead (for the Test environment)
    http://server/webservice/wsdl?targetURI=ProdSPRead (for the Production environment)
    When I develop the form in Dev environment, I use the Test web service URL and save the data connection as UDCX files in the data connection library. After completing the development, when I deploy this Form in Production, I update the URL in the UDCX
    file in the Production data connection library, but when I run the Form in Production, it throws error 'Error occurred in calling the web service'. After doing more research, when I extracted the XSN file and opened Manifest.xsf file in Notepad, I found the
    references of 'testSPRead' parameter.
    So, in the UDCX file the web service URL is '/targetURI=ProdSPRead' but in the Manifest.xsf file, there is a reference of Test web service parameter which is 'testSPRead' and that's why it's throwing error.
    For testing purpose, I updated the Manifest.xsf file and replaced all the occurrences of 'testSPRead' to 'ProdSPRead' and also updated all the relevant files of the data connections (like XML, XSF etc.) and saved the Manifest.xsf as Form.xsn and deployed
    in Prod and it worked.
    The question is - is this the right way of doing it? There should be a simple method in such cases where web service has conditional parameter to identify the Test and Production web service.
    Does somebody know what is the right way of doing it? I also thought of adding 'double' data connections - one set of Test and another set of Production and call them by identifying the current SharePointServerRootURL, but that's a lot of work. I've 10 web
    service data connections in my Form and in that case I'll be having 20 data connections and setting their parameters in different Rules is too much work.
    Please advise. It's very important for me!
    Thanks in advance.
    Ashish

    Thanks for your response Hemendra!
    I hope Microsoft improves this thing in subsequent patches of InfoPath 2010 or InfoPath 2013 because I don't think this is a very special requirement. This is failing the purpose of having UDCX files for data connections. Why the WSDL's parameter value
    is being written in the Manifest.xsf and other XSF and XML files. InfoPath should always refer the URL and parameters from the UDCX files.
    --Ashish

  • How do I create a "document-centric" Web Service?

    By document-centric I'm talking about receiving a SOAP message on the server-side, where the initial parsing and security processing (this aspect is very important) is performed but then allowing the developer to access the delivered "payload", i.e. the XML, and perform whatever mapping/processing that is required without automatically mapping to the "standard" auto-generated Java objects.
    It is important that the client receives the "full" complex WSDL and can therefore generate their proxy classes with whatever tool (or language) that is appropriate.
    On the server side we do not want to create hundreds (if not thousands) of Java Bean clases as we already have the legacy code to map XML to Java. The idea is that JAX-RPC only instantiates the SOAPElements that represent the "raw" message, or, if possible, doesn't instantiate any objects whatsoever.
    I've spent many days now trying to find a single well-worked example for this type of Web Service without success - many, many references of the style "..and you can then create a document style web service.." but without the all important "how".
    From what I've read a custom type-mapping and/or serializer/deserializer could be the answer but again no good, solid examples are forthcoming.
    Another alternative seems to be to create the server side stub-classes using a "dummy" WSDL with the elements set to "anyType" but then distribute the "genuine" WSDL to the clients - we've got a simple example of the kind working but I don't like the idea of "tricking" the system in this way.
    I'm working with WASD 5.1, which in theory conforms with JAX-RPC so any ideas offered here should also apply in that environment.
    Has ANYONE successfully created a service of this type?
    Any help with this issue would be very much appreciated and rewarded (with Duke Dollars of course).
    Chris.

    Chris,
    I too noticed that most vendors take the RPC centric approach. Its because most of the industry examples of how WSs were used were simple enough to implement using RPC and anything more (document literal) would add to the complexity of implementation. This is something that is feared by many developers, especialy the .Net crowd who seem to want everything done through a wizard menu interface and don't care about other WS implementations at all.
    This is sort of changing. J2EE 1.4 is WS-I compliant, so when you compile server side ties from WSDL you can specify a document literal option and WS-I compliance. This gives you access to the SOAPElement objects. There's still issues with going between W3C DOM and SOAP elements but that's just API inconvenience, not a show stopper. As the inudustry develops more complex WSs we will see the vendors change their tools to better support this...
    Anyway, some more help...
    I use the the following wscompile options to build from WSDL for document literal WSs.
    wscompile.bat -d . -nd . -s . -f:documentliteral -f:wsi -keep -model model.gz -import config.xml
    wscompile.bat -d . -nd . -s . -f:documentliteral -f:wsi -keep -model model.gz -gen:server config.xml
    My "wrapper" elements look like this...
    <xs:element name="AComplexXMLResponse">
         <xs:complexType>
              <xs:sequence>
                   <xs:element ref="myNS:MYComplexXMLType"/>
              </xs:sequence>
         </xs:complexType>
    </xs:element>
    If I do this:
    <xs:element name="ASimpleXMLResponse">
         <xs:complexType>
              <xs:sequence>
                   <xs:element name="AName" type="xs:string"/>
              </xs:sequence>
         </xs:complexType>
    </xs:element>
    I still get the JAXRPC language bindings to a string, but in my case I don't really care. This may well be different for you.
    What I do to manage these elements is to split up the WSDL, WS wrapper element definitions and actual data XML schema definitions into separate documents. This means I have a WSDL which IMPORTS my message schema (this is where I define wrappers for in and out XML) which INCLUDES the actual DATA XML schema that I have.
    The WSDL import looks like this:
    <types>
         <xs:schema>
              <xs:import namespace="http://schemaURI" schemaLocation="./relativePath/WrapperElementSchema.xsd"/>
         </xs:schema>
    </types>
    The wrapper element schema has:
    <xs:include schemaLocation="./ActualDataSchema.xsd"/>
    This way I can easily replace the wrapper documents with just anyType references if something doesn want to play nice. The data schema file and the WSDL stay the same. This minimises the impact on what you have to change in your distribution. This is important as the WSDL is often generated on the fly by your WS environment and so can not be easily changed once you build your WSs, but the schema files it references are easily changed without affecting your code.
    Another reason for the wrapper elements was a JWSDP 1.2 issue (I don't know if this has been fixed in 1.3), where if you had the same method parameter signature in a web service (the parameters it took were the same XML types, for instance if you have an add and update methods for the same document input) JWSDP would get confused at runtime. It did not take account of the SOAP action that came along with the request to determine which operation to call. It just took the incoming XML, saw that it was of a certain type and it passed it to the first operation that took this element, which is VERY wrong. By using the wrapper elements, I could give all my input and output elements for each method different names (I used a naming stragegy that appended a 'request' or 'response' string to the method name to form a method parameter element name. This is a pain in the ass, but works and does wonders for interoperability with other WS vendors. Like I said before, I've got this working with JWSDP, BEA and .Net servers and clients.
    Hope this helps,
    If you think there is a real need for a public HOWTO on this, I could write one with a full step by step guideline that shows where I broke my legs getting this stuff to work. But this would eat into my sleep time :-/ TO JUDGE INTEREST I call on all people interested in a tutorial to respond to this thread (esp people involved with the JWSDP WS tutorial documentation). If I get 5 or more different people responding I will loose some sleep for the good of this community. Otherwise, I will just try to help you when I have time to read the forums.
    Kuba

  • Unable to get job status via BIP web service

    Hi,
    I'm scheduling a report job using the method scheduleReport of the ScheduleService web service. The method returns the jobId correctly, then I check the job status using getScheduledReportStatus.
    Every time the method returns jobstatus = "Scheduled", but the report is finished. I noticed that BIP schedule a child job with different jobId (why?) and If I use it, the getScheduledReportStatus return a null status.
    Using the method getScheduledJobInfo I have all the information, but how can I get the child jodId ?
    Best regards,
    Alessio

    Hi Alessio
    I know this was a long time ago but i was just taking a chance:
    Quick question: did you get this to work? I can schedule a report using the ScheduleReport sevice, but when i query the status using getScheduledReportStatus, the status remains 'Scheduled', even after the job has run. The job also does not appear in the Job History of the report. The report is set to burst, which it does correctly.
    Do you have any ideas?
    Thanks very much.

  • How can we call a WEB SERVICE from an Oracle DB?

    <h2>
    What the methods available to call a WEB SERVICE from the DB. I.e. through a DB Stored Procedure?
    I was given this article by a colleague, but since it’s a 2005 one, I feel it could be outdated?
    http://www.oracle.com/technology/pub/articles/mensah_dws.html
    Also, is it possible to write ONE “Common” DB stored procedure to call ANY WEB SERVICE?
    </h2>

    <h2> No Girish, what I meant is, since it is 2005 article, the method it describes to call a WS is out of date.
    Because I am quite sure in 2009, 4 years later Oracle must have added built-in packages and other methods to simplify it???
    Also, I would be very grateful if you advice on the other issue: Is there a way to create a single DB stored procedure to call ANY WS?? i.e. a common routine to call any web service?
    </h2>

  • How to create Web Service based on PI WSDL message

    Hi all,
    we have following scenario:
    Within PI (version 7.1) we set up a message type and inbound service interface. This service interface should send the PI message to a web service running on a SAP J2EE (version 7.01). As the PI message is sent as WSDL I thought it should be easy to build a web service on the SAP J2EE based on this WSDL from PI.
    Unfortunately, I have problems creating the Web Service.
    For my current project we integrated the NWDI to the SAP NetWeaver Developer Studio and I'm required to add the Web Service to an existing DC (Development Component) within the NWDI.
    What I tried so far is:
    - I created a Deployable Proxy Project and within this I created a Client Proxy Definition based on the WSDL from the PI. But I can't add this Proxy to the DCs of the NWDI and I don't know how to implement my own coding here in order execute specific functions.
    - I created a new class within the NWDI DC and a public method. Based on this I created a Virtual Interface and a Web Service Definition (WSD). Then I added this to a Web Service Deployment Descriptor. I uploaded this to the SAP J2EE. But I'm not able to access this and I don't know hoe to assign the WSDL here.
    I also tried here to create a client proxy based on this WSD as I thought I might assign the WSDL here. But I don't see the WSD in the list of Web Services uploaded to the SAP J2EE...
    Can you please advice me how to create a Web Service in such an environment?
    regards
    René Jurmann

    Hi Tahir,
    sorry that you needed to wait this long - but this is how I created the web service:
    The steps on how to create the web service in NetWeaver Developer studio are nearly the same as described in the blog http://www.sdn.sap.com/irj/scn/weblogs?blog=/pub/wlg/5838. [original link is broken] [original link is broken] [original link is broken]
    Some steps I just skipped and some others I added. Some of the steps I did the way I described it as I needed to connect the web service with the SAP PI.
    Prerequisites:
    Add Java Perspective and J2EE Development Perspective to the open perspectives.
    Within "Window - Preferences - Web Services" check "Soap extensions visible in the virtual interface editor"
    The SDM of the corresponding SAP J2EE is configured within "Window - Preferences"
    Create a Development Component (DC) with type "J2EE -> EJB Module"
    The business logic of the web service will be implemented in an Enterprise Java Bean (EJB). So first the EJB component must be created:
         Choose "File -> New -> Other"
         In opening PopUp choose "Development Component -> Development Component Project"
         Select the Software Component for which you want to add the DC (e.g. "Local Development -> MyComponents")
         Choose now vendor, name and type:
              vendor is an alpha-numeric string of 20 characters starting with a letter - all in lower case
              name is an alpha-numeric string starting with a letter - all in lower case
              vendor and name concatenated must not be longer then 40 characters
              the name can be separated into different part using "/" as separator
              each part of the name must not be longer than 8 characters
              the type is "J2EE - EJB Module"
              you can specify a Caption as general description for the web service
    Create new EJB
    To create the EJB itself:
         In J2EE DC Explorer of J2EE Development Perspective expand new DC and right-click on folder "ejbModule"
         Choose "New - EJB" with following details:
              EJB Name: <name as for PI service Interface to be created - starting in upper case>
              EJB Project: <pre selected>
              Bean Type: Stateless Session Bean
              Default EJB Package: <corresponds to namespace in PI>
              generate default interfaces: Checked
    Regarding the "Default EJB Package" this should be created according the namespace in PI for which all PI objects will be created. This only applies if you have some naming conventions here.
    Example:
    Namespace in PI is:  http://company.net/pi/SOFTWARE_COMP/Application
    The corresponding package then is: net.company.pi.software_comp.application
    Implement coding for web service
    As the web service will be called via PI some transfer variables will be submitted. Most likely, those variables will not be standard type (e.g. String) but a complex type. Those types must be generated as Java classes. Below an example of a complex type I needed:
    Data Type
    net.company.pi.software_comp.application.types.MessageProcessingInformation
    Structure:
         Element name          Element type
         sendingSystemID          String
         interfaceID               String
         businessProcessVariantCode     String
         testIndicator               Boolean
    For every element described a public "get", "set" and "has" method must be created in the corresponding Java class:
    package net.company.pi.software_comp.application.types;
    import java.io.Serializable;
    public class MessageProcessingInformation implements Serializable {
         protected String sendingSystemID;
         protected String interfaceID;
         protected String businessProcessVariantCode;
         protected Boolean testIndicator;
         public String getSendingSystemID() {
              return sendingSystemID;
         public void setSendingSystemID(String value) {
              this.sendingSystemID = value;
         public boolean hasSendingSystemID() {
              if(sendingSystemID != null && !sendingSystemID.equals("")){
                   return true;
              return false;
    All Java classes representing complex types and all classes referenced here (used for sub-types) must implement java.io.Serializable. Java standard types which do not implement this class must not be used as sub-types.
    As soon as all data types are declared the real business logic can be implemented:
         In J2EE DC Explorer of J2EE Development Perspective expand DC - "ejb-jar.xml" - <Name> and double click on "ejbCreate"
         In detail view select folder "Business Methods" and click "Add"
         choose name of business method - this should be the same as the PI message type used for the service interface - starting lower case
         return type should be "void"
         add needed parameters fully qualified - including package (as specified in PI and created previously in DC)
         you can mark certain parameters as array if necessary
    Remark:
    It might be that after saving you get an error. This might be as the package name of one component is copied to the corresponding Java class at the very beginning (before the package declaration within the Java class). Simply delete the string here.
    It also might be, that the new business method is only defined in the remote interface class but not in the bean class. Just create an according method in the bean class.
    Within the newly created business method within the bean class you can now implement the business logic.
    Create a DC with type "J2EE -> Enterprise Application"
    In order to create the "real" web service and deploy it to the J2EE an Enterprise Application project has to be created. So create a new DC as for the EJB Module but choose as type "J2EE -> Enterprise Application".
    After the DC is created right click on the EJB DC and choose "Add to EAR Project". Choose the new DC.
    Create web service for EJB
    As soon as you implemented the business logic you can create the "real" web service. Therefore:
         Right click on the EJB name below "ejb-jar.xml"
         Choose "New - Web Service"
         Choose proper "Web Service Name" and "Configuration Name" (probably oriented at the EJB name)
         Copy the URL of the web service - you'll need it later for PI configuration
         on the second next screen use the same name for "Virtual Interface" and "Web Service Definition" (the name should be the name of the "Endpoint")
         the "EAR Project" should be preselected
    Unfortunately, the web service can't be used in its current configuration to be accessed by PI. Therefore the Virtual Interface must be changed. To do so, expand folder "Virtual Interfaces" and double click the virtual interface created.
    Within the detail view expand in tabs "Mapping" and "Types" the complete folder structure. For any "SOAP Extension" where a namespace can be defined use as namespace the corresponding namespace in PI (e.g. http://corpintra.net/pi/CBFC_GLOBAL_SAP_APPL/BillerDirect) but do not change any "Soap Extension" of a standard Java type. (if you don't have any naming convetions for namespaces in PI you can leave the SOAP Extension here. But then the namespace in PI should be set accordingly.)
    Probably it can be necessary on top level "Soap Extensions" in tab "Mapping" to leave "Use Namespaces for Parameters" unchecked. For some of my web services this parameter must be checked for others not - just try.
    If you can define a "New Name", "Local Name" or "Item Label" for a Soap Extension then use a name with starting upper case letter. (For Java Naming conventions most of the data type names will start with lower case letters.) Especially the method name must be renamed this way in order to stick to the PI namings.
    As a last point to change here check in tab "Mapping" all "Incoming Parameters" which you specified as array. Use for those as "New Name" a different name - do not just simply change from lower case to upper case. This is necessary as on PI we need to create two levels although here only one is specified.
    For any own sub-type declared as array the name within the coding should also differ from the corresponding Java Class name the type refers to.
    If all this is done you can deploy the web service to the J2EE:
         right click on "Enterprise Application" DC and choose "Development Component - Build..." and build all corresponding components
         right click on "Enterprise Application" DC and choose "Development Component - Deploy"
    Test the new web service via <J2EE URL>/wsnavigator/enterwsdl.html
    Create PI interface
    After the web service is created successfully the PI integration can be started.
    Therefore, within the Enterprise Services Builder create a data type according to the web service definition. All components defined on top-level for this data type should be declared as incoming parameter for the web service business method. Therefore it could be necessary to create some sub data types on PI first and add those to the "master" data type.
    Ensure that the names of the components correspond to the names defined in the web service (see virtual interface here). Those names must exactly be the same - including lower/upper case. Also take care for the ordering of the components.
    In case you need to include arrays following applies:
    The upper level is of occurrence "1:1". This has only one sub-entry with occurrence "1:n". The names for upper and sub-level must not equal.
    Based on the data type a message type is created. The name of the message type must be exactly the same as the name of the web service business method. (Hint: the name of the web service business method was most likely changed in the virtual interface. Then this name must correspond to the message type name.) Based on the message type an asynchronous inbound interface is to be created (which will be referred in the Integration Directory). The operation name for this interface (left panel) should be the same as the name for the web service business method.
    Create PI mappings and routings
    How to map (message mapping and operation mapping) from source to the web service message I wont explain here as this depends on the source message. The only important things here are:
         When creating the SOAP communication channel within the Integration Builder the "Target URL" is:
              <J2EE URL>/<Access URL as specified in web service creation>?wsdl&style=document
         The soap action is the name of the web service business method.
         Most likely the web service needs authentication to be executed.

  • Getting the error while invoking Web services

    Hi,
    I am getting the error while invoking an webservive method *** follows
    {color:#3366ff}2009-01-28 04:49:38.994 Error Occured inMesage Now
    2009-01-28 04:49:38.994 javax.xml.rpc.ServiceException: Unable to create Service Factory: oracle.j2ee.ws.client.ServiceFactoryImpl
    2009-01-28 04:49:38.995 at javax.xml.rpc.ServiceFactory.newInstance(ServiceFactory.java:75)
    2009-01-28 04:49:38.995 at ccaproxy.proxy.ISessionClient.&lt;init&gt;(ISessionClient.java:25)
    2009-01-28 04:49:38.995 at oracle.apps.contactCenter.mct.model.connector.cca.CCAInternalConnImpl.cstaMonitorStart(CCAInternalConnImpl.java:86)
    2009-01-28 04:49:38.995 at oracle.apps.contactCenter.mct.model.connector.CCAMangConnImpl.cstaMonitorStart(CCAMangConnImpl.java:440)
    2009-01-28 04:49:38.995 at oracle.apps.contactCenter.mct.model.connector.CCAConnectionImpl.cstaMonitorStart(CCAConnectionImpl.java:107)
    2009-01-28 04:49:38.995 at testcca.Class1.GetConnection(Class1.java:54)
    2009-01-28 04:49:38.995 at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    2009-01-28 04:49:38.995 at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
    2009-01-28 04:49:38.995 at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
    2009-01-28 04:49:38.995 at java.lang.reflect.Method.invoke(Method.java:585)
    2009-01-28 04:49:38.995 at oracle.j2ee.ws.server.jaxws.ServiceEndpointRuntime.processMessage(ServiceEndpointRuntime.java:283)
    2009-01-28 04:49:38.995 at oracle.j2ee.ws.server.jaxws.ServiceEndpointRuntime.processMessage(ServiceEndpointRuntime.java:147)
    2009-01-28 04:49:38.995 at oracle.j2ee.ws.server.jaxws.JAXWSRuntimeDelegate.processMessage(JAXWSRuntimeDelegate.java:403)
    2009-01-28 04:49:38.995 at oracle.j2ee.ws.server.provider.ProviderProcessor.doEndpointProcessing(ProviderProcessor.java:1055)
    2009-01-28 04:49:38.995 at oracle.j2ee.ws.server.WebServiceProcessor.invokeEndpointImplementation(WebServiceProcessor.java:763)
    2009-01-28 04:49:38.995 at oracle.j2ee.ws.server.provider.ProviderProcessor.doRequestProcessing(ProviderProcessor.java:528)
    2009-01-28 04:49:38.995 at oracle.j2ee.ws.server.WebServiceProcessor.processRequest(WebServiceProcessor.java:212)
    2009-01-28 04:49:38.995 at oracle.j2ee.ws.server.WebServiceProcessor.doService(WebServiceProcessor.java:176)
    2009-01-28 04:49:38.995 at oracle.j2ee.ws.server.WebServiceServlet.doPost(WebServiceServlet.java:311)
    2009-01-28 04:49:38.995 at javax.servlet.http.HttpServlet.service(HttpServlet.java:738)
    2009-01-28 04:49:38.995 at javax.servlet.http.HttpServlet.service(HttpServlet.java:831)
    2009-01-28 04:49:38.996 at com.evermind.server.http.ServletRequestDispatcher.invoke(ServletRequestDispatcher.java:692)
    2009-01-28 04:49:38.996 at com.evermind.server.http.ServletRequestDispatcher.forwardInternal(ServletRequestDispatcher.java:351)
    2009-01-28 04:49:38.996 at com.evermind.server.http.HttpRequestHandler.doDispatchRequest(HttpRequestHandler.java:977)
    2009-01-28 04:49:38.996 at com.evermind.server.http.HttpRequestHandler.doProcessRequest(HttpRequestHandler.java:878)
    2009-01-28 04:49:38.996 at com.evermind.server.http.HttpRequestHandler.processRequest(HttpRequestHandler.java:676)
    2009-01-28 04:49:38.996 at com.evermind.server.http.HttpRequestHandler.processRequest(HttpRequestHandler.java:644)
    2009-01-28 04:49:38.996 at com.evermind.server.http.HttpRequestHandler.serveOneRequest(HttpRequestHandler.java:436)
    2009-01-28 04:49:38.996 at com.evermind.server.http.HttpRequestHandler.run(HttpRequestHandler.java:185)
    2009-01-28 04:49:38.996 at com.evermind.server.http.HttpRequestHandler.run(HttpRequestHandler.java:153)
    2009-01-28 04:49:38.996 at oracle.oc4j.network.ServerSocketReadHandler$ClientRunnable.run(ServerSocketReadHandler.java:276)
    2009-01-28 04:49:38.996 at oracle.oc4j.network.ServerSocketAcceptHandler.procClientSocket(ServerSocketAcceptHandler.java:223)
    2009-01-28 04:49:38.996 at oracle.oc4j.network.ServerSocketAcceptHandler.access$900(ServerSocketAcceptHandler.java:39)
    2009-01-28 04:49:38.996 at oracle.oc4j.network.ServerSocketAcceptHandler$AcceptHandlerHorse.run(ServerSocketAcceptHandler.java:841)
    2009-01-28 04:49:38.996 at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:650)
    2009-01-28 04:49:38.996 at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:675)
    2009-01-28 04:49:38.996 at java.lang.Thread.run(Thread.java:595)
    {color}{color:#000000}The Scenarios is as follows:
    I am having a JCA connector which is calling the CCA Method.
    CCA uses the web services for method invocation and i have created the jar file for the web service proxies. teh proxies are of RPC type. I have include the jar file in the connector project for reference.
    I have written a webservice client which will get the connection abject and invoke a method which internally invokes the CCA method.
    During this time it is giving this error.
    Please note that i have included the wsclient-extend.jar file ,wsclient jar file in both the connector project and the client project.
    Thanks
    Santosh{color}

    You have to add the jaxrpc library in the server.xml configuration of your embedded oc4j.
    Line:
    <import-shared-library name="oracle.ws.jaxrpc"/>
    You have to do this twice: in the adf.oracle.domain and the adf.generic.domain shared lib entries.
    Then, you have to do this again in the system-application.xml file (only once).
    Edited by: remcoscc on Aug 23, 2010 4:30 PM

Maybe you are looking for