Native Web Services - Java client

Hi.
Is there any example of how to consume a Native Web Service (11g) using a java client? I am having a trouble with this, and I couldn't find any clue so far.
I've been using NetBeans.
Any help would be appreciated.
Thanks

I have tried using Axis2. Created the Stub from the WSDL.
Code:
import com.oracle.xmlns.orawsv.bi_demo.filial_cotacao.FILIAL_COTACAOServiceStub;
import org.apache.axis2.client.Options;
import org.apache.axis2.transport.http.HTTPConstants;
import org.apache.axis2.transport.http.HttpTransportProperties;
class FILIAL_COTACAO {
public void filialCOTACAO(){
try { // Call Web Service Operation
FILIAL_COTACAOServiceStub stub = new FILIAL_COTACAOServiceStub();
Options options = stub._getServiceClient().getOptions();
HttpTransportProperties.Authenticator auth = new HttpTransportProperties.Authenticator();
auth.setPreemptiveAuthentication(true);
auth.setPassword("bi_demo");
auth.setUsername("bi_demo");
options.setProperty(HTTPConstants.AUTHENTICATE,auth);
FILIAL_COTACAOServiceStub.SVARCHAR2FILIAL_COTACAOInput dados = new
FILIAL_COTACAOServiceStub.SVARCHAR2FILIAL_COTACAOInput();
FILIAL_COTACAOServiceStub.FILIAL_COTACAOOutput resp = new FILIAL_COTACAOServiceStub.FILIAL_COTACAOOutput();
String user = "TESTE";
dados.setUSUARIO$VARCHAR2IN(user);
resp = stub.fILIAL_COTACAO(dados);
System.out.println("Resposta " + resp.getRETURN());
System.out.println("TESTE");
} catch (Throwable e1) {e1.printStackTrace();}
public static void main(String[] args) throws Exception {
FILIAL_COTACAO t = new FILIAL_COTACAO();
t.filialCOTACAO();
But it returns me:
[INFO] Deploying module: metadataExchange-1.5.1 - file:/Users/CInglez/MSV/NetBeansProjects/FILIAL_COTACAO_Axis/dist/lib/mex-1.5.1.jar
org.apache.axiom.soap.SOAPProcessingException: Only Characters are allowed here
     at org.apache.axiom.soap.impl.builder.SOAP11BuilderHelper.processText(SOAP11BuilderHelper.java:153)
     at org.apache.axiom.soap.impl.builder.SOAP11BuilderHelper.handleEvent(SOAP11BuilderHelper.java:63)
     at org.apache.axiom.soap.impl.builder.StAXSOAPModelBuilder.constructNode(StAXSOAPModelBuilder.java:390)
     at org.apache.axiom.soap.impl.builder.StAXSOAPModelBuilder.createOMElement(StAXSOAPModelBuilder.java:227)
     at org.apache.axiom.soap.impl.builder.StAXSOAPModelBuilder.createNextOMElement(StAXSOAPModelBuilder.java:196)
     at org.apache.axiom.om.impl.builder.StAXOMBuilder.next(StAXOMBuilder.java:207)
     at org.apache.axiom.om.impl.llom.OMElementImpl.buildNext(OMElementImpl.java:664)
     at org.apache.axiom.om.impl.llom.OMNodeImpl.getNextOMSibling(OMNodeImpl.java:141)
     at org.apache.axiom.om.impl.traverse.OMChildrenQNameIterator.findNextElementWithQName(OMChildrenQNameIterator.java:96)
     at org.apache.axiom.om.impl.traverse.OMChildrenQNameIterator.<init>(OMChildrenQNameIterator.java:53)
     at org.apache.axiom.om.impl.llom.OMElementImpl.getFirstChildWithName(OMElementImpl.java:270)
     at org.apache.axiom.soap.impl.llom.soap11.SOAP11FaultImpl.getCode(SOAP11FaultImpl.java:124)
     at org.apache.axis2.AxisFault.initializeValues(AxisFault.java:202)
     at org.apache.axis2.AxisFault.<init>(AxisFault.java:196)
     at org.apache.axis2.util.Utils.getInboundFaultFromMessageContext(Utils.java:435)
     at org.apache.axis2.description.OutInAxisOperationClient.handleResponse(OutInAxisOperation.java:371)
     at org.apache.axis2.description.OutInAxisOperationClient.send(OutInAxisOperation.java:417)
     at org.apache.axis2.description.OutInAxisOperationClient.executeImpl(OutInAxisOperation.java:229)
     at org.apache.axis2.client.OperationClient.execute(OperationClient.java:165)
     at com.oracle.xmlns.orawsv.bi_demo.filial_cotacao.FILIAL_COTACAOServiceStub.fILIAL_COTACAO(FILIAL_COTACAOServiceStub.java:181)
     at FILIAL_COTACAO.filialCOTACAO(FILIAL_COTACAO.java:56)
     at FILIAL_COTACAO.main(FILIAL_COTACAO.java:68)
Any clues?
Thanks

Similar Messages

  • Error when running the Web Services java client file

    Hi,
    I am working on web services with 9iAS.
    I am using the StatelessExample file included during installation.
    The ear file was created and the application was deployed using OEM Web.
    But when I try to execute the client java file StatelessClient. I get an error. The error is something about content type.
    The error message is pasted below.
    And also how do I run the web service on the browser.
    Please help.
    regards
    Kamlesh
    D:\ora9ias_portal\j2ee\home\demo\web_services\java_services\client>java -classpa
    th .;StatelessExample_proxy.jar;%CLASSPATH%; StatelessClient
    Exception in thread "main" [SOAPException: faultCode=SOAP-ENV:Protocol; msg=Unsu
    pported response content type &quot;text/html&quot;, must be: &quot;text/xml&quo
    t;. Response was:
    &lt;HTML&gt;&lt;HEAD&gt;&lt;TITLE&gt;500 Internal Server Error&lt;/TITLE&gt;&lt;
    /HEAD&gt;&lt;BODY&gt;&lt;H1&gt;500 Internal Server Error&lt;/H1&gt;&lt;PRE&gt;or
    acle.j2ee.xanadu.JasperGenerationError: no source generated during code generati
    on!: 1 in getFile name: oracle\j2ee\ws_example\StatelessExample.class
    &lt;br&gt;1 in getFile name: oracle\j2ee\ws_example\StatelessExample.java
    &lt;br&gt;error: error message &apos;class.format&apos; not found&lt;br&gt;binar
    y class definition not found: oracle.j2ee.ws_example.StatelessExample
    &lt;br&gt;
    &lt;br&gt;      at oracle.j2ee.ws.JavaWrapperGenerator.generate(JavaWrapperGener
    ator.java:267)
    &lt;br&gt;      at oracle.j2ee.ws.RpcWebService.generateWrapperClass(RpcWebServi
    ce.java:662)
    &lt;br&gt;      at oracle.j2ee.ws.RpcWebService.generate(RpcWebService.java:436)
    &lt;br&gt;      at oracle.j2ee.ws.RpcWebService.getWrapper(RpcWebService.java:76
    7)
    &lt;br&gt;      at oracle.j2ee.ws.RpcWebService.doPost(RpcWebService.java:309)
    &lt;br&gt;      at javax.servlet.http.HttpServlet.service(HttpServlet.java:283)
    &lt;br&gt;      at javax.servlet.http.HttpServlet.service(HttpServlet.java:336)
    &lt;br&gt;      at com.evermind[Oracle9iAS (9.0.2.0.0) Containers for J2EE].serv
    er.http.ResourceFilterChain.doFilter(ResourceFilterChain.java:59)
    &lt;br&gt; at oracle.security.jazn.oc4j.JAZNFilter.doFilter(JAZNFilter.java
    :283)
    &lt;br&gt; at com.evermind[Oracle9iAS (9.0.2.0.0) Containers for J2EE].serv
    er.http.ServletRequestDispatcher.invoke(ServletRequestDispatcher.java:523)
    &lt;br&gt; at com.evermind[Oracle9iAS (9.0.2.0.0) Containers for J2EE].serv
    er.http.ServletRequestDispatcher.forwardInternal(ServletRequestDispatcher.java:2
    69)
    &lt;br&gt; at com.evermind[Oracle9iAS (9.0.2.0.0) Containers for J2EE].serv
    er.http.HttpRequestHandler.processRequest(HttpRequestHandler.java:735)
    &lt;br&gt; at com.evermind[Oracle9iAS (9.0.2.0.0) Containers for J2EE].serv
    er.http.AJPRequestHandler.run(AJPRequestHandler.java:151)
    &lt;br&gt; at com.evermind[Oracle9iAS (9.0.2.0.0) Containers for J2EE].util
    .ThreadPoolThread.run(ThreadPoolThread.java:64)
    &lt;br&gt;&lt;/PRE&gt;&lt;/BODY&gt;&lt;/HTML&gt;
    at org.apache.soap.rpc.Call.getEnvelopeString(Call.java:201)
    at org.apache.soap.rpc.Call.invoke(Call.java:260)
    at oracle.j2ee.ws_example.proxy.StatelessExampleProxy.makeSOAPCallRPC(St
    atelessExampleProxy.java:51)
    at oracle.j2ee.ws_example.proxy.StatelessExampleProxy.helloWorld(Statele
    ssExampleProxy.java:35)
    at StatelessClient.main(StatelessClient.java:8)

    If you are getting this error, then you are most likely compiling your code with a different JVM than what is shipped with the application server. Oracle9iAS Release 2 (9.0.2) uses the JDK1.3.1. I got this error when I compiled the code with JDK1.4.0_01.

  • Workshop 9.2 - Web Service Test Client - java.util.NoSuchElementException

    I've found an issue with the Web Services Test Client while developing a web service application in the Weblogic Workshop 9.2 tool. The same schema / code in Workshop 8.1 SP4 works okay in its version of the test client.
    The error seems to manifest itself, when I add the "addresses" element to the "locations" element.
    The error displayed in the weblogic service console is
    <BLOCKQUOTE>
    java.lang.RuntimeException: java.util.NoSuchElementException
    at weblogic.testclient.ConnectionState.createWsdl(ConnectionState.java:63)
    at Controller.refreshWsdl(Controller.java:304)
    at Controller.begin(Controller.java:173)
    at jrockit.reflect.VirtualNativeMethodInvoker.invoke(Ljava.lang.Object;[Ljava.lang.Object;)Ljava.lang.Object;(Unknown Source)
            at java.lang.reflect.Method.invoke(Ljava.lang.Object;[Ljava.lang.Object;I)Ljava.lang.Object;(Unknown Source)
            at org.apache.beehive.netui.pageflow.FlowController.invokeActionMethod(FlowController.java:878)
            at org.apache.beehive.netui.pageflow.FlowController.getActionMethodForward(FlowController.java:808)
            at org.apache.beehive.netui.pageflow.FlowController.internalExecute(FlowController.java:477)
            at org.apache.beehive.netui.pageflow.PageFlowController.internalExecute(PageFlowController.java:305)
            at org.apache.beehive.netui.pageflow.FlowController.execute(FlowController.java:335)
            at org.apache.beehive.netui.pageflow.internal.FlowControllerAction.execute(FlowControllerAction.java:51)
            at org.apache.struts.action.RequestProcessor.processActionPerform(RequestProcessor.java:419)
            at org.apache.beehive.netui.pageflow.PageFlowRequestProcessor.access$201(PageFlowRequestProcessor.java:95)
            at org.apache.beehive.netui.pageflow.PageFlowRequestProcessor$ActionRunner.execute(PageFlowRequestProcessor.java:2042)
            at org.apache.beehive.netui.pageflow.interceptor.action.internal.ActionInterceptors.wrapAction(ActionInterceptors.java:90)
            at org.apache.beehive.netui.pageflow.PageFlowRequestProcessor.processActionPerform(PageFlowRequestProcessor.java:2114)
            at org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:224)
            at org.apache.beehive.netui.pageflow.PageFlowRequestProcessor.processInternal(PageFlowRequestProcessor.java:554)
            at org.apache.beehive.netui.pageflow.PageFlowRequestProcessor.process(PageFlowRequestProcessor.java:851)
            at org.apache.beehive.netui.pageflow.AutoRegisterActionServlet.process(AutoRegisterActionServlet.java:630)
            at org.apache.beehive.netui.pageflow.PageFlowActionServlet.process(PageFlowActionServlet.java:157)
            at org.apache.struts.action.ActionServlet.doGet(ActionServlet.java:414)
            at javax.servlet.http.HttpServlet.service(HttpServlet.java:743)
            at javax.servlet.http.HttpServlet.service(HttpServlet.java:856)
            at weblogic.servlet.internal.StubSecurityHelper$ServletServiceAction.run(StubSecurityHelper.java:225)
            at weblogic.servlet.internal.StubSecurityHelper.invokeServlet(StubSecurityHelper.java:127)
            at weblogic.servlet.internal.ServletStubImpl.execute(ServletStubImpl.java:283)
            at weblogic.servlet.internal.ServletStubImpl.execute(ServletStubImpl.java:175)
            at weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.run(WebAppServletContext.java:3211)
    Caused by: java.util.NoSuchElementException
            at java.util.AbstractList$Itr.next(AbstractList.java:427)
            at weblogic.testclient.RequestTemplate.addSoapForParameter(RequestTemplate.java:341)
            at weblogic.testclient.RequestTemplate.addSoapForParameter(RequestTemplate.java:334)
            at weblogic.testclient.RequestTemplate.addSoapForParameter(RequestTemplate.java:334)
            at weblogic.testclient.RequestTemplate.addSoapForParameter(RequestTemplate.java:334)
            at weblogic.testclient.RequestTemplate.addSoapForParameter(RequestTemplate.java:334)
            at weblogic.testclient.RequestTemplate.addSoapForParameter(RequestTemplate.java:334)
            at weblogic.testclient.RequestTemplate.addSoapForParameter(RequestTemplate.java:334)
            at weblogic.testclient.RequestTemplate.addSoapForParameter(RequestTemplate.java:334)
            at weblogic.testclient.RequestTemplate.addSoapForParameter(RequestTemplate.java:334)
            at weblogic.testclient.RequestTemplate.createMessageBody(RequestTemplate.java:220)
            at weblogic.testclient.RequestTemplate.buildRequest(RequestTemplate.java:169)
            at weblogic.testclient.RequestTemplate.createRequestTemplate(RequestTemplate.java:103)
            at weblogic.testclient.RequestTemplate.<init>(RequestTemplate.java:85)
            at weblogic.testclient.WebServiceOperation.<init>(WebServiceOperation.java:120)
            at weblogic.testclient.WsdlOperationParser.createOperation(WsdlOperationParser.java:115)
            at weblogic.testclient.WebService.createOperation(WebService.java:242)
            at weblogic.testclient.WebService.<init>(WebService.java:86)
            at weblogic.testclient.Wsdl.parseWsdl(Wsdl.java:127)
            at weblogic.testclient.Wsdl.<init>(Wsdl.java:59)
            at weblogic.testclient.ConnectionState.createWsdlFromHttpUrl(ConnectionState.java:113)
            at weblogic.testclient.ConnectionState.createWsdl(ConnectionState.java:54)
            at Controller.refreshWsdl(Controller.java:304)
            at Controller.begin(Controller.java:173)
            at jrockit.reflect.VirtualNativeMethodInvoker.invoke(Ljava.lang.Object;[Ljava.lang.Object;)Ljava.lang.Object;(Unknown Source)
            at java.lang.reflect.Method.invoke(Ljava.lang.Object;[Ljava.lang.Object;I)Ljava.lang.Object;(Unknown Source)
            at org.apache.beehive.netui.pageflow.FlowController.invokeActionMethod(FlowController.java:878)
            at org.apache.beehive.netui.pageflow.FlowController.getActionMethodForward(FlowController.java:808)
            at org.apache.beehive.netui.pageflow.FlowController.internalExecute(FlowController.java:477)
    </BLOCKQUOTE>
    The code in the Web Service control is...
    <BLOCKQUOTE>
    package services;
    import javax.jws.WebMethod;
    import javax.jws.WebService;
    import weblogic.jws.WLHttpTransport;
    import au.com.suncorp.services.payment.schema.x0.RequestIdDocument;
    import au.com.suncorp.services.payment.schema.x0.VendorDocument;
    @WebService(targetNamespace="http://suncorp.com.au/services/payment/wsdl/0")
    @WLHttpTransport(serviceUri="services/PaymentService")
    public class Payment {
         @WebMethod
         public RequestIdDocument setupVendor(VendorDocument request) {
              System.out.println(request.xmlText());
              RequestIdDocument result = RequestIdDocument.Factory.newInstance();
              RequestIdDocument.RequestId response = result.addNewRequestId();
              response.setCorrelationId("CorrelationId-" + request.getVendor().getName());
              return result;
    </BLOCKQUOTE>
    The XSD schema is as follows....
    <BLOCKQUOTE>
    <?xml version="1.0" encoding="UTF-8"?>
    <schema xmlns="http://www.w3.org/2001/XMLSchema"
    targetNamespace="http://suncorp.com.au/services/payment/schema/0"
    xmlns:tns="http://suncorp.com.au/services/payment/schema/0">
    <!-- ***************************************************************** -->
    <simpleType name="correlationIdType">
    <annotation>
    <documentation>
    The CorrelationId field.
    </documentation>
    </annotation>
    <restriction base="string"></restriction>
    </simpleType>
    <simpleType name="estTimeIntervalType">
    <annotation>
    <documentation>
    The Estimated Time Interval field.
    </documentation>
    </annotation>
    <restriction base="integer"></restriction>
    </simpleType>
    <simpleType name="vendorIdType">
    <annotation>
    <documentation>
    The Vendor Id field.
    </documentation>
    </annotation>
    <restriction base="string"></restriction>
    </simpleType>
    <simpleType name="nameType">
    <annotation>
    <documentation>
    The Vendor Name field.
    </documentation>
    </annotation>
    <restriction base="string"></restriction>
    </simpleType>
    <simpleType name="persistenceType">
    <annotation>
    <documentation>
    The Persistence field.
    </documentation>
    </annotation>
    <restriction base="boolean"></restriction>
    </simpleType>
    <simpleType name="ownerType">
    <annotation>
    <documentation>
    The Owner field.
    </documentation>
    </annotation>
    <restriction base="string"></restriction>
    </simpleType>
    <simpleType name="sourceReferenceType">
    <annotation>
    <documentation>
    The vendor Source Reference field.
    </documentation>
    </annotation>
    <restriction base="string"></restriction>
    </simpleType>
    <simpleType name="abnType">
    <annotation>
    <documentation>
    The vendor ABN field.
    </documentation>
    </annotation>
    <restriction base="string"></restriction>
    </simpleType>
    <simpleType name="countryType">
    <annotation>
    <documentation>
    The Country field.
    </documentation>
    </annotation>
    <restriction base="string"></restriction>
    </simpleType>
    <simpleType name="stateType">
    <annotation>
    <documentation>
    The State field.
    </documentation>
    </annotation>
    <restriction base="string"></restriction>
    </simpleType>
    <simpleType name="cityType">
    <annotation>
    <documentation>
    The City field.
    </documentation>
    </annotation>
    <restriction base="string"></restriction>
    </simpleType>
    <simpleType name="postcodeType">
    <annotation>
    <documentation>
    The Postcode field.
    </documentation>
    </annotation>
    <restriction base="string"></restriction>
    </simpleType>
    <simpleType name="gstRegisteredType">
    <annotation>
    <documentation>
    The GST Registered field.
    </documentation>
    </annotation>
    <restriction base="boolean"></restriction>
    </simpleType>
    <simpleType name="withHoldingType">
    <annotation>
    <documentation>
    The WithHolding field.
    </documentation>
    </annotation>
    <restriction base="boolean"></restriction>
    </simpleType>
    <simpleType name="vendorClassType">
    <annotation>
    <documentation>
    The Vendor Class field.
    </documentation>
    </annotation>
    <restriction base="string"></restriction>
    </simpleType>
    <simpleType name="statusType">
    <annotation>
    <documentation>The Status field.</documentation>
    </annotation>
    <restriction base="string">
    <enumeration value="ACTIVE">
    <annotation>
    <documentation>an enumerated value.</documentation>
    </annotation>
    </enumeration>
    <enumeration value="INACTIVE">
    <annotation>
    <documentation>an enumerated value.</documentation>
    </annotation>
    </enumeration>
    </restriction>
    </simpleType>
    <simpleType name="locationIdType">
    <annotation>
    <documentation>
    The Location Id field.
    </documentation>
    </annotation>
    <restriction base="string"></restriction>
    </simpleType>
    <simpleType name="effectiveDateType">
    <annotation>
    <documentation>
    The Effective Date field.
    </documentation>
    </annotation>
    <restriction base="dateTime"></restriction>
    </simpleType>
    <simpleType name="addressIdType">
    <annotation>
    <documentation>
    The AddressId field.
    </documentation>
    </annotation>
    <restriction base="string"></restriction>
    </simpleType>
    <simpleType name="addressType">
    <annotation>
    <documentation>
    The Address field.
    </documentation>
    </annotation>
    <restriction base="string"></restriction>
    </simpleType>
    <simpleType name="contactIdType">
    <annotation>
    <documentation>
    The ContactId field.
    </documentation>
    </annotation>
    <restriction base="string"></restriction>
    </simpleType>
    <simpleType name="contactMethodType">
    <annotation>
    <documentation>
    The Address field.
    </documentation>
    </annotation>
    <restriction base="string">
    <enumeration value="FAX">
    <annotation>
    <documentation>an enumerated value.</documentation>
    </annotation>
    </enumeration>
    <enumeration value="PHONE">
    <annotation>
    <documentation>an enumerated value.</documentation>
    </annotation>
    </enumeration>
    <enumeration value="EMAIL">
    <annotation>
    <documentation>an enumerated value.</documentation>
    </annotation>
    </enumeration>
    </restriction>
    </simpleType>
    <simpleType name="dispatchMethodType">
    <annotation>
    <documentation>
    The Dispatch Method field.
    </documentation>
    </annotation>
    <restriction base="string">
    <enumeration value="EFT">
    <annotation>
    <documentation>an enumerated value.</documentation>
    </annotation>
    </enumeration>
    <enumeration value="FAX">
    <annotation>
    <documentation>an enumerated value.</documentation>
    </annotation>
    </enumeration>
    <enumeration value="EMAIL">
    <annotation>
    <documentation>an enumerated value.</documentation>
    </annotation>
    </enumeration>
    </restriction>
    </simpleType>
    <simpleType name="currencyType">
    <annotation>
    <documentation>
    The Currency field.
    </documentation>
    </annotation>
    <restriction base="boolean"></restriction>
    </simpleType>
    <simpleType name="payGroupType">
    <annotation>
    <documentation>
    The Pay Group field.
    </documentation>
    </annotation>
    <restriction base="string"></restriction>
    </simpleType>
    <simpleType name="payHoldType">
    <annotation>
    <documentation>
    The Pay Hold field.
    </documentation>
    </annotation>
    <restriction base="boolean"></restriction>
    </simpleType>
    <simpleType name="freightTermsType">
    <annotation>
    <documentation>
    The Freight Terms field.
    </documentation>
    </annotation>
    <restriction base="string"></restriction>
    </simpleType>
    <simpleType name="payHandlingType">
    <annotation>
    <documentation>
    The Pay Handling field.
    </documentation>
    </annotation>
    <restriction base="string"></restriction>
    </simpleType>
    <simpleType name="delayDaysType">
    <annotation>
    <documentation>
    The Delay Days field.
    </documentation>
    </annotation>
    <restriction base="integer"></restriction>
    </simpleType>
    <simpleType name="payFromBankType">
    <annotation>
    <documentation>
    The Pay From Bank field.
    </documentation>
    </annotation>
    <restriction base="string"></restriction>
    </simpleType>
    <simpleType name="paymentInstructionsType">
    <annotation>
    <documentation>
    The Payment Instructions field.
    </documentation>
    </annotation>
    <restriction base="string"></restriction>
    </simpleType>
    <simpleType name="paymentTermsType">
    <annotation>
    <documentation>
    The Payment Terms field.
    </documentation>
    </annotation>
    <restriction base="string">
    <enumeration value="COD">
    <annotation>
    <documentation>an enumerated value.</documentation>
    </annotation>
    </enumeration>
    <enumeration value="SEVEN_DAYS">
    <annotation>
    <documentation>an enumerated value.</documentation>
    </annotation>
    </enumeration>
    <enumeration value="FOURTEEN_DAYS">
    <annotation>
    <documentation>an enumerated value.</documentation>
    </annotation>
    </enumeration>
    <enumeration value="TWENTYONE_DAYS">
    <annotation>
    <documentation>an enumerated value.</documentation>
    </annotation>
    </enumeration>
    <enumeration value="THIRTY_DAYS">
    <annotation>
    <documentation>an enumerated value.</documentation>
    </annotation>
    </enumeration>
    </restriction>
    </simpleType>
    <simpleType name="paymentMethodType">
    <annotation>
    <documentation>
    The Payment Method field.
    </documentation>
    </annotation>
    <restriction base="string">
    <enumeration value="EFT">
    <annotation>
    <documentation>an enumerated value.</documentation>
    </annotation>
    </enumeration>
    <enumeration value="CHEQUE">
    <annotation>
    <documentation>an enumerated value.</documentation>
    </annotation>
    </enumeration>
    </restriction>
    </simpleType>
    <simpleType name="payBankIdType">
    <annotation>
    <documentation>
    The PayBankId field.
    </documentation>
    </annotation>
    <restriction base="string"></restriction>
    </simpleType>
    <simpleType name="descriptionType">
    <annotation>
    <documentation>
    The Pay Bank Description field.
    </documentation>
    </annotation>
    <restriction base="string"></restriction>
    </simpleType>
    <simpleType name="bankIdType">
    <annotation>
    <documentation>
    The BankId field.
    </documentation>
    </annotation>
    <restriction base="string"></restriction>
    </simpleType>
    <simpleType name="branchIdType">
    <annotation>
    <documentation>
    The BranchId field.
    </documentation>
    </annotation>
    <restriction base="string"></restriction>
    </simpleType>
    <simpleType name="bankAccountType">
    <annotation>
    <documentation>
    The BankAccount field.
    </documentation>
    </annotation>
    <restriction base="string"></restriction>
    </simpleType>
    <!-- ***************************************************************** -->
    <complexType name="payBankDetailsType">
    <sequence>
    <element name="payBankId" type="tns:payBankIdType" maxOccurs="1" minOccurs="0" nillable="true"></element>
    <element name="description" type="tns:descriptionType" maxOccurs="1" minOccurs="0" nillable="true"></element>
    <element name="bankId" type="tns:bankIdType" maxOccurs="1" minOccurs="0" nillable="true"></element>
    <element name="branchId" type="tns:branchIdType" maxOccurs="1" minOccurs="0" nillable="true"></element>
    <element name="bankAccount" type="tns:bankAccountType" maxOccurs="1" minOccurs="0" nillable="true"></element>
    <element name="effectiveDate" type="tns:effectiveDateType" maxOccurs="1" minOccurs="0" nillable="true"></element>
    </sequence>
    </complexType>
    <complexType name="paymentDetailsType">
    <sequence>
    <element name="paymentTerms" type="tns:paymentTermsType" maxOccurs="1" minOccurs="0" nillable="true"></element>
    <element name="paymentMethod" type="tns:paymentMethodType" maxOccurs="1" minOccurs="0" nillable="true"></element>
    <element name="dispatchMethod" type="tns:dispatchMethodType" maxOccurs="1" minOccurs="0" nillable="true"></element>
    <element name="payGroup" type="tns:payGroupType" maxOccurs="1" minOccurs="0" nillable="true"></element>
    <element name="currency" type="tns:currencyType" maxOccurs="1" minOccurs="0" nillable="true"></element>
    <element name="payHold" type="tns:payHoldType" maxOccurs="1" minOccurs="0" nillable="true"></element>
    <element name="freightTerms" type="tns:freightTermsType" maxOccurs="1" minOccurs="0" nillable="true"></element>
    <element name="payHandling" type="tns:payHandlingType" maxOccurs="1" minOccurs="0" nillable="true"></element>
    <element name="delayDays" type="tns:delayDaysType" maxOccurs="1" minOccurs="0" nillable="true"></element>
    <element name="payFromBank" type="tns:payFromBankType" maxOccurs="1" minOccurs="0" nillable="true"></element>
    <element name="paymentInstructions" type="tns:paymentInstructionsType" maxOccurs="1" minOccurs="0" nillable="true"></element>
    <element name="bankDetails" type="tns:payBankDetailsType" maxOccurs="1" minOccurs="1"></element>
    </sequence>
    </complexType>
    <complexType name="contactDetailsType">
    <sequence>
    <element name="contactId" type="tns:contactIdType" maxOccurs="1" minOccurs="0" nillable="true"></element>
    <element name="effectiveDate" type="tns:effectiveDateType" maxOccurs="1" minOccurs="0" nillable="true"></element>
    <element name="name" type="tns:nameType" maxOccurs="1" minOccurs="0" nillable="true"></element>
    <element name="contactMethod" type="tns:contactMethodType" maxOccurs="1" minOccurs="0" nillable="true"></element>
    <element name="dispatchMethod" type="tns:dispatchMethodType" maxOccurs="1" minOccurs="0" nillable="true"></element>
    <element name="status" type="tns:statusType" maxOccurs="1" minOccurs="1"></element>
    </sequence>
    </complexType>
    <complexType name="arrayOfContactDetails">
    <sequence>
    <element name="contact" type="tns:contactDetailsType" maxOccurs="unbounded" minOccurs="0"></element>
    </sequence>
    </complexType>
    <complexType name="addressDetailsType">
    <sequence>
    <element name="addressId" type="tns:addressIdType" maxOccurs="1" minOccurs="0" nillable="true"></element>
    <element name="effectiveDate" type="tns:effectiveDateType" maxOccurs="1" minOccurs="0" nillable="true"></element>
    <element name="name" type="tns:nameType" maxOccurs="1" minOccurs="0" nillable="true"></element>
    <element name="address" type="tns:addressType" maxOccurs="1" minOccurs="1"></element>
    <element name="postcode" type="tns:postcodeType" maxOccurs="1" minOccurs="1"></element>
    <element name="city" type="tns:cityType" maxOccurs="1" minOccurs="1"></element>
    <element name="state" type="tns:stateType" maxOccurs="1" minOccurs="1"></element>
    <element name="country" type="tns:countryType" maxOccurs="1" minOccurs="1"></element>
    <element name="contacts" type="tns:arrayOfContactDetails" maxOccurs="1" minOccurs="0"></element>
    </sequence>
    </complexType>
    <complexType name="arrayOfAddressDetails">
    <sequence>
    <element name="address" type="tns:addressDetailsType" maxOccurs="unbounded" minOccurs="0"></element>
    </sequence>
    </complexType>
    <complexType name="locationDetailsType">
    <sequence>
    <element name="locationId" type="tns:locationIdType" maxOccurs="1" minOccurs="0" nillable="true"></element>
    <element name="effectiveDate" type="tns:effectiveDateType" maxOccurs="1" minOccurs="0" nillable="true"></element>
    <element name="orderingVendorId" type="tns:vendorIdType" maxOccurs="1" minOccurs="0" nillable="true"></element>
    <element name="invoicingVendorId" type="tns:vendorIdType" maxOccurs="1" minOccurs="0" nillable="true"></element>
    <element name="remittingVendorId" type="tns:vendorIdType" maxOccurs="1" minOccurs="0" nillable="true"></element>
    <element name="returningVendorId" type="tns:vendorIdType" maxOccurs="1" minOccurs="0" nillable="true"></element>
    <element name="status" type="tns:statusType" maxOccurs="1" minOccurs="1"></element>
    <element name="paymentDetails" type="tns:paymentDetailsType" maxOccurs="1" minOccurs="1"></element>
    <element name="addresses" type="tns:arrayOfAddressDetails" maxOccurs="1" minOccurs="0"></element>
    </sequence>
    </complexType>
    <complexType name="arrayOfLocationDetails">
    <sequence>
    <element name="location" type="tns:locationDetailsType" maxOccurs="unbounded" minOccurs="0"></element>
    </sequence>
    </complexType>
    <!-- ***************************************************************** -->
    <element name="Vendor">
    <complexType mixed="true">
    <annotation>
    <documentation>
    The Vendor request object.
    </documentation>
    </annotation>
    <sequence>
    <element name="vendorId" type="tns:vendorIdType" maxOccurs="1" minOccurs="1"></element>
    <element name="name" type="tns:nameType" maxOccurs="1" minOccurs="1"></element>
    <element name="persistence" type="tns:persistenceType" maxOccurs="1" minOccurs="1" default="true"></element>
    <element name="owner" type="tns:ownerType" maxOccurs="1" minOccurs="0" nillable="true"></element>
    <element name="sourceReference" type="tns:sourceReferenceType" maxOccurs="1" minOccurs="0" nillable="true"></element>
    <element name="corporateVendorId" type="tns:vendorIdType" maxOccurs="1" minOccurs="0" nillable="true"></element>
    <element name="abn" type="tns:abnType" maxOccurs="1" minOccurs="0" nillable="true"></element>
    <element name="country" type="tns:countryType" maxOccurs="1" minOccurs="1" default="AUS"></element>
    <element name="gstRegistered" type="tns:gstRegisteredType" maxOccurs="1" minOccurs="0" nillable="true" default="true"></element>
    <element name="withHolding" type="tns:withHoldingType" maxOccurs="1" minOccurs="0" nillable="true" default="false"></element>
    <element name="status" type="tns:statusType" maxOccurs="1" minOccurs="1" default="ACTIVE"></element>
    <element name="vendorClass" type="tns:vendorClassType" maxOccurs="1" minOccurs="1"></element>
    <element name="locations" type="tns:arrayOfLocationDetails" maxOccurs="1" minOccurs="0"></element>
    </sequence>
    </complexType>
    </element>
    <element name="RequestId">
    <complexType mixed="true">
    <annotation>
    <documentation>The typical response object for requests.
    </documentation>
    </annotation>
    <sequence>
    <element name="correlationId" type="tns:correlationIdType" maxOccurs="1" minOccurs="1"></element>
    <element name="estTimeInterval" type="tns:estTimeIntervalType" maxOccurs="1" minOccurs="0" nillable="true" default="24"></element>
    </sequence>
    </complexType>
    </element>
    </schema>
    </BLOCKQUOTE>

    Hi Paul
    I believe there is some issue with the TestClient.
    Instead to test, can you please try this?
    1) Right click on Payment.java and choose Webservices -> generate wsdl
    2) Right click on the wsdl and choose Webservices -> Test with WebServices Explorer.
    3) Click on setVendor method
    4) Enter the request parameters
    Sample one:
    <ns:Vendor xmlns="http://www.openuri.org/" xmlns:ns="http://suncorp.com.au/services/payment/schema/0">
    <vendorId xmlns="">Vendor Id</vendorId>
    <name xmlns="">My correlation Id</name>
    <persistence xmlns="">false</persistence>
    <country xmlns="">USA</country>
    <status xmlns="">ACTIVE</status>
    <vendorClass xmlns="">VendorClass</vendorClass>
    </ns:Vendor>
    5) Hit the button 'Go'. The entire soap response will be displayed in the bottom.
    I have tested this and it works fine.
    Output I got:
    <m:setupVendorResponse xmlns:m="http://suncorp.com.au/services/payment/wsdl/0">
    <RequestId xmlns="http://suncorp.com.au/services/payment/schema/0">
    <correlationId>CorrelationId-My correlation Id</correlationId>
    </RequestId>
    </m:setupVendorResponse>
    Thanks,
    Vimala

  • 11G - XDB Native Web Services - how to create a web service proxy

    Hi,
    I am working on XDB Native web Services (http://download.oracle.com/docs/cd/B28359_01/appdev.111/b28369/xdb_web_services.htm#CHDDBCHB). I want to create a proxy web service for orawsv service (http://server:port/orawsv?wsdl), which is protected by an user/password
    In Jdeveloper 10133:
    + copy orawsv wsdl (http://server:port/orawsv?wsdl) in local file
    + create a proxy web service form the local wsdl (from the wizard)
    + implement the client (http://www.oracle.com/technology/obe/11gr1_db/datamgmt/xmldb2_b/xmldb2_b.htm)
    ==> OK
    In Jdeveloper 11g
    + copy orawsv wsdl (http://server:port/orawsv?wsdl) in local file
    + create a proxy web service form the local wsdl (from the wizard)
    + how to implement the client : there is no method to set a password
    any ideas?
    Thanks for your help,
    Cyryl
    Edited by: cbalmati on Oct 21, 2008 6:26 AM

    I'm working on getting a proxy web service working in 11g and the contents of this thread is close to answering my question.
    The web service proxy is accessing a service that requires a SOAP Security header.
    In looking at the previous post, I thought that by using the BindingProvider API I could add the security settings. But when I invoke the proxy I consistently get the following error response from the (PeopleSoft) web service: "com.sun.xml.ws.client.ClientTransportException: request requires HTTP authentication: Unauthorized'
    In contrast to that error, when I use JDeveloper's HTTP Analyzer, I get a successful response from the web service. Below is what the raw HTTP looks like:
    POST https://isiswebdev.services.wisc.edu:7002/PSIGW/PeopleSoftServiceListeningConnector HTTP/1.1
    Content-Type: text/xml; charset=UTF-8
    Host: isiswebdev.services.wisc.edu:7002
    SOAPAction: "CI_U_FA_CSA_STDTA_CI_G.V2"
    Content-Length: 548
    X-HTTPAnalyzer-Rules: 1
    <env:Envelope xmlns:env="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd" xmlns:ns2="http://xmlns.oracle.com/Enterprise/Tools/schemas/M183895.V1">
    <env:Header>
    <ns1:Security>
    <ns1:UsernameToken>
    <ns1:Username>UserName</ns1:Username>
    <ns1:Password>XXXXXXX</ns1:Password>
    </ns1:UsernameToken>
    </ns1:Security>
    </env:Header>
    <env:Body>
    <ns2:Get__CompIntfc__U_FA_CSA_STDTA_CI>
    <ns2:EMPLID>012345678912</ns2:EMPLID>
    </ns2:Get__CompIntfc__U_FA_CSA_STDTA_CI>
    </env:Body>
    </env:Envelope>
    Here's the Java code that I'm using to try to make the same call:
    public void callIWebservice(String emplId){
    cSA_STDNT_DATA = new CSA_STDNT_DATA();
    CI_U_FA_CSA_STDTA_CI_PortType port = cSA_STDNT_DATA.getCI_U_FA_CSA_STDTA_CI_Port();
    Map<String, Object> requestContext = ((BindingProvider)port).getRequestContext();
    requestContext.put(BindingProvider.USERNAME_PROPERTY, "UserName");
    requestContext.put(BindingProvider.PASSWORD_PROPERTY,"XXXXXXX");
    GetCompIntfcUFACSASTDTACITypeShape CiType = new GetCompIntfcUFACSASTDTACITypeShape();
    EMPLIDTypeShape emplIDType = new EMPLIDTypeShape();
    emplIDType.setValue(emplId);
    CiType.setEMPLID(emplIDType);
    try {
    GetCompIntfcUFACSASTDTACIResponseTypeShape response = port.getDATA(CiType);
    System.out.println(response.getCUMGPA());
    } catch (M464939V1 e) {
    System.out.println(e.getFaultInfo());
    But, alas, I just get the ClientTransportException.
    Is the Bindingprovider interface the correct way to add the soap security headers? Or am I following the wrong path?
    Any help will be greatly appreciated.

  • SOAP Fault when returning null from a Native Web Service Stored Procedure

    I have a stored procedure which I can successfully invoke via soapUI
    However, if one of the Stored Procedure's OUT arguments is set to null the native web service returns the following fault :
    <soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
    <soap:Body>
    <soap:Fault>
    <faultcode>soap:Client</faultcode>
    <faultstring>Error processing input</faultstring>
    <detail>
    <OracleErrors xmlns="http://xmlns.oracle.com/orawsv/faults">
    <OracleError>
    <ErrorNumber>ORA-19202</ErrorNumber>
    <Message>Error occurred in XML processing</Message>
    </OracleError>
    <OracleError>
    <ErrorNumber>ORA-01405</ErrorNumber>
    <Message>fetched column value is NULL</Message>
    </OracleError>
    </OracleErrors>
    </detail>
    </soap:Fault>
    </soap:Body>
    </soap:Envelope>I can see how to control the processing of null values when invoking orawsv (using the null_handling element).
    Is there an equivalent for Stored Procedures ?
    Thanks,
    PD
    versions as follows :
    Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 - 64bit Production
    PL/SQL Release 11.2.0.1.0 - Production
    "CORE     11.2.0.1.0     Production"
    TNS for Linux: Version 11.2.0.1.0 - Production
    NLSRTL Version 11.2.0.1.0 - Production

    Without going into any technical discussion about the code, my first question is what JDK version was used to create this which was imported into the form? Understand that Forms 10 runs on JDK 1.4.2, so if you used any newer JDK version, likely there will be problems.

  • Web service proxy client with client cert cause SSLSessionNotFoundErr

    Hi,
    I tried to run web service proxy client with certification from JDeveloper 10.1.3.0.4 to call PKI enabled web service got folllowing error:
    WARNING: Unable to connect to URL: due to java.security.PrivilegedActionException: javax.xml.soap.SOAPException: Message send failed: javax.net.ssl.SSLException: SSL handshake failed: SSLSessionNotFoundErr
    Web service deployed on OAS

    Hi,
    i am trying to invoke from JDeveloper (10.1.3) a CRM On Demand's Web Service and I hava the same problem:
    ADVERTENCIA: Unable to connect to URL: https://secure-ausomxgfa.crmondemand.com/Services/Integration due to java.security.PrivilegedActionException: javax.xml.soap.SOAPException: Message send failed: javax.net.ssl.SSLException: SSL handshake failed: SSLSessionNotFoundErr
    java.rmi.RemoteException: ; nested exception is:
         HTTP transport error: javax.xml.soap.SOAPException: java.security.PrivilegedActionException: javax.xml.soap.SOAPException: Message send failed: javax.net.ssl.SSLException: SSL handshake failed: SSLSessionNotFoundErr
         at testerlast.runtime.Contact_Stub.contactInsert(Contact_Stub.java:96)
         at testerlast.ContactClient.contactInsert(ContactClient.java:88)
         at testerlast.ContactClient.main(ContactClient.java:69)
    Caused by: HTTP transport error: javax.xml.soap.SOAPException: java.security.PrivilegedActionException: javax.xml.soap.SOAPException: Message send failed: javax.net.ssl.SSLException: SSL handshake failed: SSLSessionNotFoundErr
         at oracle.j2ee.ws.common.util.exception.JAXRPCExceptionBase.<init>(JAXRPCExceptionBase.java:93)
         at oracle.j2ee.ws.common.util.exception.JAXRPCExceptionBase.<init>(JAXRPCExceptionBase.java:89)
         at oracle.j2ee.ws.client.ClientTransportException.<init>(ClientTransportException.java:33)
         at oracle.j2ee.ws.client.http.HttpClientTransport.invokeImpl(HttpClientTransport.java:144)
         at oracle.j2ee.ws.client.http.HttpClientTransport.invoke(HttpClientTransport.java:121)
         at oracle.j2ee.ws.client.StreamingSender._sendImpl(StreamingSender.java:169)
         at oracle.j2ee.ws.client.StreamingSender._send(StreamingSender.java:111)
         at testerlast.runtime.Contact_Stub.contactInsert(Contact_Stub.java:80)
         ... 2 more
    To do the invocation I have done a proxy to consume this Web Service, with the follow main:
    public static void main(String[] args) {
    try {
    testerlast.ContactClient myPort = new testerlast.ContactClient();
    System.out.println("calling " + myPort.getEndpoint());
    myPort.setUsername(nameUser);
    myPort.setPassword(password);
    ListOfContactData llista = new ListOfContactData();
    ContactData[] contacts=new ContactData[2];
    ContactData contact=new ContactData();
    ContactInsert_Input input=new ContactInsert_Input();
    // Login WS HTTPS
    String idSesion=connexioWS_CRM.logon(URL,nameUser,password);
    // Add contact
    for (int i = 0; i < contacts.length; i++) {
    contact.setId("ProvaWSCRM"+i);
    contact.setContactFirstName("JDeveloper"+i);
    contact.setContactLastName("prove"+i);
    contact.setCellularPhone("77777777"+i);
    contact.setDescription("Add contact with Id:"+contact.getId());
    contacts=contact;
    System.out.println("Id:"+contacts[i].getId()+" firstName:"+contacts[i].getContactFirstName()+" lastName:"+contacts[i].getContactLastName());
    llista.setContact(contacts);
    input.setListOfContact(llista);
    input.setEcho("off");
    System.out.println("Pwd:"+myPort.getPassword()+" Port:"+myPort._port+" endpoint:"+myPort.getEndpoint()+" user:"+myPort.getUsername());
    myPort.contactInsert(llista,"LIC","Broadset","OFF");
    // Logout en WS (HTTPS)
    connexioWS_CRM.logoff(URL, idSesion);
    } catch (Exception ex) {
    ex.printStackTrace();
    What's wrong? Any idea?
    Thank you
    Edited by: user12085357 on 31-oct-2009 10:39

  • Web Service Proxy client to invoke a Web service on SSL (Jdev 10.1.3.1)

    Hi,
    I have to develope a Web Service proxy client to invoke a web service on SSL. First I'm testing with OC4J 10.1.3.1 and JDEV 10.1.3.1 and did this:
    1) Developed a basic PL/SQL Web Service with JDEV and publish on my standalone OC4J.
    2) Made a test with a browser, it worked OK
    3) Generated a proxy client from JDev 10.1.3.1 to invoke web service, it worked OK
    --- Now make it work on SSL----
    4) Then, added SSL configuration to oc4j , generated a certificate with keytool (updated server.xml, secure-web-site.xml), and shutting down and starting the OC4j instance.
    5) Import the certificate to JAVA_HOME/jre/lib/security/cacerts
    6) Test web service from browser on https and worked OK.
    7) When tried to modified proxy client (generated in step 3) to make it work on SSL, I realized that just changing the END_POINT to the new url (https) it worked!
    Questions----
    1.- By default the proxy client generated from JDEV 10.1.3.1 knows how to deal with SSL conections?
    2.- If I dont have previously the server certificate to import it into JAVA keystore (cacerts) how could I ,from proxy client code, capture it and import it before the validation occurs... because if the certificate is not in keystore , the program fails.
    Thanks in advance
    J.

    Hi,
    Could you please provide me with the steps necessary to create a web service proxy client through JDeveloper or any other mechanism when 2 way SSL (requiring client authentication) is enabled.
    Thanks a lot in advance
    Nilesh

  • 11g Native Web Services Core Dump ( qmuwsPrintPackWSDL() )

    I know that native PL/SQL web services are newer functionality, but I have not been able to find any information on the following issue on MetaLink or here on the forums. When creating 11g native web services when attempting to retrieve the WSDL documents from the server the document is only partially served (estimated at about 2/3rds) or not at all (blank document returned).
    Banner: Oracle Database 11g Enterprise Edition Release 11.1.0.6.0 - Production
    The alert log gains this entry:
    <msg time='2009-03-30T13:23:21.843-04:00' org_id='oracle' comp_id='rdbms'
    client_id='' type='UNKNOWN' level='16'
    host_id='TEST_HOST1' host_addr='10.38.11.20' module=''
    pid='16144'>
    <txt>Exception [type: ACCESS_VIOLATION, UNABLE_TO_READ] [ADDR:0x98] [PC:0x37FAE2B, _qmuwsPrintPackWSDL()+1031]
    </txt>
    </msg>
    <msg time='2009-03-30T13:23:21.906-04:00' org_id='oracle' comp_id='rdbms'
    msg_id='1205222838' type='INCIDENT_ERROR' group='Access Violation'
    level='1' host_id='TEST_HOST1' host_addr='10.38.11.20'
    prob_key='ORA 7445 [qmuwsPrintPackWSDL()+1031]' upstream_comp='' downstream_comp=''
    ecid='' errid='62733' detail_path='c:\app\diag\rdbms\orcl\orcl\trace\orcl_s001_16144.trc'>
    <txt>Errors in file c:\app\diag\rdbms\orcl\orcl\trace\orcl_s001_16144.trc  (incident=62733):
    ORA-07445: exception encountered: core dump [qmuwsPrintPackWSDL()+1031] [ACCESS_VIOLATION] [ADDR:0x98] [PC:0x37FAE2B] [UNABLE_TO_READ] []
    </txt>
    </msg>
    <msg time='2009-03-30T13:23:21.953-04:00' org_id='oracle' comp_id='rdbms'
    msg_id='dbgexProcessError:1094:3370026720' type='TRACE' level='16'
    host_id='TEST_HOST1' host_addr='10.38.11.20'>
    <txt>Incident details in: c:\app\diag\rdbms\orcl\orcl\incident\incdir_62733\orcl_s001_16144_i62733.trc
    </txt>
    </msg>
    <msg time='2009-03-30T13:23:23.250-04:00' org_id='oracle' comp_id='rdbms'
    client_id='' type='UNKNOWN' level='16'
    host_id='TEST_HOST1' host_addr='10.38.11.20' module=''
    pid='3120'>
    <txt>Trace dumping is performing id=[cdmp_20090330132323]
    </txt>
    </msg>
    <msg time='2009-03-30T13:23:26.093-04:00' org_id='oracle' comp_id='rdbms'
    msg_id='dbgrimswi_sweep_incident:1855:4220681759' type='ERROR' group='ami_comp'
    level='8' host_id='TEST_HOST1' host_addr='10.38.11.20'>
    <txt>Sweep Incident[62733]: completed
    </txt>
    </msg>
    <msg time='2009-03-30T13:23:44.500-04:00' org_id='oracle' comp_id='rdbms'
    client_id='' type='UNKNOWN' level='16'
    host_id='TEST_HOST1' host_addr='10.38.11.20' module=''
    pid='6724'>
    <txt>found dead shared server &apos;S001&apos;, pid = (19, 3)
    </txt>
    </msg>The trace files contain the following:
    Trace file c:\app\diag\rdbms\orcl\orcl\trace\orcl_s001_16144.trc
    Oracle Database 11g Enterprise Edition Release 11.1.0.6.0 - Production
    With the Partitioning, OLAP, Data Mining and Real Application Testing options
    Windows NT Version V5.2 Service Pack 2
    CPU                 : 16 - type 586, 4 Physical Cores
    Process Affinity    : 0x00000000
    Memory (Avail/Total): Ph:10902M/24571M, Ph+PgF:8218M/26299M, VA:349M/2047M
    Instance name: orcl
    Redo thread mounted by this instance: 1
    Oracle process number: 19
    Windows thread id: 16144, image: ORACLE.EXE (S001)
    *** 2009-03-30 13:23:21.828
    *** SESSION ID:(129.4177) 2009-03-30 13:23:21.828
    *** CLIENT ID:() 2009-03-30 13:23:21.828
    *** SERVICE NAME:(SYS$USERS) 2009-03-30 13:23:21.828
    *** MODULE NAME:() 2009-03-30 13:23:21.828
    *** ACTION NAME:() 2009-03-30 13:23:21.828
    Exception [type: ACCESS_VIOLATION, UNABLE_TO_READ] [ADDR:0x98] [PC:0x37FAE2B, _qmuwsPrintPackWSDL()+1031]
    Incident 62733 created, dump file: c:\app\diag\rdbms\orcl\orcl\incident\incdir_62733\orcl_s001_16144_i62733.trc
    ORA-07445: exception encountered: core dump [qmuwsPrintPackWSDL()+1031] [ACCESS_VIOLATION] [ADDR:0x98] [PC:0x37FAE2B] [UNABLE_TO_READ] []I am at a loss on quickly resolving this issue. I will be attempting to find a solution via an SR, but I am not sure how responsive that will be. Any help is appreciated.
    SR Number: 7504349.992

    Quick test for 11.1.0.7.0 (linux_x64) does not show a problem
    SQL> connect sys/oracle as sysdba
    Connected.
    SQL> --
    SQL> def USERNAME=WEB_API
    SQL> --
    SQL> def PASSWORD=WEB_API
    SQL> --
    SQL> DROP USER &USERNAME CASCADE
      2  /
    old   1: DROP USER &USERNAME CASCADE
    new   1: DROP USER WEB_API CASCADE
    DROP USER WEB_API CASCADE
    ERROR at line 1:
    ORA-01918: user 'WEB_API' does not exist
    SQL> grant connect, resource to &USERNAME identified by &PASSWORD
      2  /
    old   1: grant connect, resource to &USERNAME identified by &PASSWORD
    new   1: grant connect, resource to WEB_API identified by WEB_API
    Grant succeeded.
    SQL> begin
      2    dbms_network_acl_admin.drop_acl('localhost.xml');
      3  end;
      4  /
    begin
    ERROR at line 1:
    ORA-31001: Invalid resource handle or path name "/sys/acls/localhost.xml"
    ORA-06512: at "XDB.DBMS_XDB", line 337
    ORA-06512: at "SYS.DBMS_NETWORK_ACL_ADMIN", line 428
    ORA-06512: at line 2
    SQL> begin
      2    dbms_network_acl_admin.create_acl('localhost.xml', 'ACL for 127.0.0.1', '&USERNAME', true, 'connect');
      3    dbms_network_acl_admin.assign_acl('localhost.xml', '127.0.0.1');
      4  end;
      5  /
    old   2:   dbms_network_acl_admin.create_acl('localhost.xml', 'ACL for 127.0.0.1', '&USERNAME', true, 'connect');
    new   2:   dbms_network_acl_admin.create_acl('localhost.xml', 'ACL for 127.0.0.1', 'WEB_API', true, 'connect');
    PL/SQL procedure successfully completed.
    SQL> COMMIT
      2  /
    Commit complete.
    SQL> GRANT XDB_WEBSERVICES TO &USERNAME
      2  /
    old   1: GRANT XDB_WEBSERVICES TO &USERNAME
    new   1: GRANT XDB_WEBSERVICES TO WEB_API
    Grant succeeded.
    SQL> GRANT XDB_WEBSERVICES_OVER_HTTP TO &USERNAME
      2  /
    old   1: GRANT XDB_WEBSERVICES_OVER_HTTP TO &USERNAME
    new   1: GRANT XDB_WEBSERVICES_OVER_HTTP TO WEB_API
    Grant succeeded.
    SQL> connect &USERNAME/&PASSWORD
    Connected.
    SQL> --
    SQL> var url varchar2(700)
    SQL> --
    SQL> set pages 0 long 10000
    SQL> --
    SQL>
    SQL> CREATE OR REPLACE TYPE ACCOUNT_O AS OBJECT
      2  (
      3     ACCOUNT_ID              NUMBER(9, 0),
      4     ACCOUNT_NUMBER          VARCHAR2(100),
      5     ACCOUNT_NAME            VARCHAR2(50),
      6     ACTIVE                  NUMBER(1, 0),
      7     DEACTIVE_DATE           DATE,
      8     START_DATE              DATE,
      9     END_DATE                DATE,
    10     ROLLOVER_ACCOUNT_NUMBER VARCHAR2(100),
    11     ROLLOVER_ACCOUNT_NAME   VARCHAR2(50),
    12     ROLLOVER_SPEED_CODE     VARCHAR2(10),
    13     LAST_UPDATE_DATE        DATE
    14  )
    15  /
    Type created.
    SQL> CREATE OR REPLACE TYPE ACCOUNT_SK AS OBJECT( ACCOUNT_ID NUMBER(38) )
      2  /
    Type created.
    SQL> CREATE OR REPLACE PACKAGE ACCOUNT_API AS
      2     FUNCTION "NEW"(ACCOUNT_ID              NUMBER,
      3                    ACCOUNT_NUMBER          VARCHAR2,
      4                    ACCOUNT_NAME            VARCHAR2 DEFAULT NULL,
      5                    ACTIVE                  NUMBER DEFAULT NULL,
      6                    DEACTIVE_DATE           DATE DEFAULT NULL,
      7                    START_DATE              DATE DEFAULT NULL,
      8                    END_DATE                DATE DEFAULT NULL,
      9                    ROLLOVER_ACCOUNT_NUMBER VARCHAR2 DEFAULT NULL,
    10                    ROLLOVER_ACCOUNT_NAME   VARCHAR2 DEFAULT NULL,
    11                    ROLLOVER_SPEED_CODE     VARCHAR2 DEFAULT NULL,
    12                    LAST_UPDATE_DATE        DATE DEFAULT NULL)
    13        RETURN ACCOUNT_SK;
    14     PROCEDURE "UPDATE"(ACCOUNT_ID              NUMBER,
    15                        ACCOUNT_NUMBER          VARCHAR2,
    16                        ACCOUNT_NAME            VARCHAR2 DEFAULT NULL,
    17                        ACTIVE                  NUMBER DEFAULT NULL,
    18                        DEACTIVE_DATE           DATE DEFAULT NULL,
    19                        START_DATE              DATE DEFAULT NULL,
    20                        END_DATE                DATE DEFAULT NULL,
    21                        ROLLOVER_ACCOUNT_NUMBER VARCHAR2 DEFAULT NULL,
    22                        ROLLOVER_ACCOUNT_NAME   VARCHAR2 DEFAULT NULL,
    23                        ROLLOVER_SPEED_CODE     VARCHAR2 DEFAULT NULL,
    24                        LAST_UPDATE_DATE        DATE DEFAULT NULL);
    25     PROCEDURE "DELETE"(ACCOUNT_ID NUMBER);
    26     FUNCTION "GET"(ACCOUNT_ID NUMBER) RETURN ACCOUNT_O;
    27  END ACCOUNT_API;
    28  /
    Package created.
    SQL> BEGIN
      2    :url :=   'http://&USERNAME:&[email protected]:' || dbms_xdb.getHttpPort() || '/orawsv/&USERNAME/ACCOUNT_API';
      3  end;
      4  /
    old   2:   :url :=   'http://&USERNAME:&[email protected]:' || dbms_xdb.getHttpPort() || '/orawsv/&USERNAME/ACCOUNT_API';
    new   2:   :url :=   'http://WEB_API:[email protected]:' || dbms_xdb.getHttpPort() || '/orawsv/WEB_API/ACCOUNT_API';
    PL/SQL procedure successfully completed.
    SQL> print url
    http://WEB_API:[email protected]:80/orawsv/WEB_API/ACCOUNT_API
    SQL> --
    SQL> select  httpuritype( :url || '?wsdl' ).getXML() from dual
      2  /
    <definitions name="ACCOUNT_API" targetNamespace="http://xmlns.oracle.com/orawsv/
    WEB_API/ACCOUNT_API" xmlns="http://schemas.xmlsoap.org/wsdl/" xmlns:tns="http://
    xmlns.oracle.com/orawsv/WEB_API/ACCOUNT_API" xmlns:xsd="http://www.w3.org/2001/X
    MLSchema" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/">
      <types>
        <xsd:schema targetNamespace="http://xmlns.oracle.com/orawsv/WEB_API/ACCOUNT_
    API" elementFormDefault="qualified">
          <xsd:element name="UPDATEInput">
            <xsd:complexType>
              <xsd:sequence>
                <xsd:element name="START_DATE-DATE-IN" minOccurs="0" maxOccurs="1" t
    ype="xsd:date"/>
                <xsd:element name="ROLLOVER_SPEED_CODE-VARCHAR2-IN" minOccurs="0" ma
    xOccurs="1" type="xsd:string"/>
                <xsd:element name="ROLLOVER_ACCOUNT_NUMBER-VARCHAR2-IN" minOccurs="0
    " maxOccurs="1" type="xsd:string"/>
                <xsd:element name="ROLLOVER_ACCOUNT_NAME-VARCHAR2-IN" minOccurs="0"
    maxOccurs="1" type="xsd:string"/>
                <xsd:element name="LAST_UPDATE_DATE-DATE-IN" minOccurs="0" maxOccurs
    ="1" type="xsd:date"/>
                <xsd:element name="END_DATE-DATE-IN" minOccurs="0" maxOccurs="1" typ
    e="xsd:date"/>
                <xsd:element name="DEACTIVE_DATE-DATE-IN" minOccurs="0" maxOccurs="1
    " type="xsd:date"/>
                <xsd:element name="ACTIVE-NUMBER-IN" minOccurs="0" maxOccurs="1" typ
    e="xsd:double"/>
                <xsd:element name="ACCOUNT_NUMBER-VARCHAR2-IN" type="xsd:string"/>
                <xsd:element name="ACCOUNT_NAME-VARCHAR2-IN" minOccurs="0" maxOccurs
    ="1" type="xsd:string"/>
                <xsd:element name="ACCOUNT_ID-NUMBER-IN" type="xsd:double"/>
              </xsd:sequence>
            </xsd:complexType>
          </xsd:element>
          <xsd:element name="UPDATEOutput">
            <xsd:complexType>
              <xsd:sequence>
                </xsd:sequence>
            </xsd:complexType>
          </xsd:element>
          <xsd:element name="CACCOUNT_SK-NEWInput">
            <xsd:complexType>
              <xsd:sequence>
                <xsd:element name="START_DATE-DATE-IN" minOccurs="0" maxOccurs="1" t
    ype="xsd:date"/>
                <xsd:element name="ROLLOVER_SPEED_CODE-VARCHAR2-IN" minOccurs="0" ma
    xOccurs="1" type="xsd:string"/>
                <xsd:element name="ROLLOVER_ACCOUNT_NUMBER-VARCHAR2-IN" minOccurs="0
    " maxOccurs="1" type="xsd:string"/>
                <xsd:element name="ROLLOVER_ACCOUNT_NAME-VARCHAR2-IN" minOccurs="0"
    maxOccurs="1" type="xsd:string"/>
                <xsd:element name="LAST_UPDATE_DATE-DATE-IN" minOccurs="0" maxOccurs
    ="1" type="xsd:date"/>
                <xsd:element name="END_DATE-DATE-IN" minOccurs="0" maxOccurs="1" typ
    e="xsd:date"/>
                <xsd:element name="DEACTIVE_DATE-DATE-IN" minOccurs="0" maxOccurs="1
    " type="xsd:date"/>
                <xsd:element name="ACTIVE-NUMBER-IN" minOccurs="0" maxOccurs="1" typ
    e="xsd:double"/>
                <xsd:element name="ACCOUNT_NUMBER-VARCHAR2-IN" type="xsd:string"/>
                <xsd:element name="ACCOUNT_NAME-VARCHAR2-IN" minOccurs="0" maxOccurs
    ="1" type="xsd:string"/>
                <xsd:element name="ACCOUNT_ID-NUMBER-IN" type="xsd:double"/>
              </xsd:sequence>
            </xsd:complexType>
          </xsd:element>
          <xsd:element name="NEWOutput">
            <xsd:complexType>
              <xsd:sequence>
                <xsd:element name="RETURN" type="tns:ACCOUNT_SKType"/>
              </xsd:sequence>
            </xsd:complexType>
          </xsd:element>
          <xsd:element name="CACCOUNT_O-GETInput">
            <xsd:complexType>
              <xsd:sequence>
                <xsd:element name="ACCOUNT_ID-NUMBER-IN" type="xsd:double"/>
              </xsd:sequence>
            </xsd:complexType>
          </xsd:element>
          <xsd:element name="GETOutput">
            <xsd:complexType>
              <xsd:sequence>
                <xsd:element name="RETURN" type="tns:ACCOUNT_OType"/>
              </xsd:sequence>
            </xsd:complexType>
          </xsd:element>
          <xsd:element name="DELETEInput">
            <xsd:complexType>
              <xsd:sequence>
                <xsd:element name="ACCOUNT_ID-NUMBER-IN" type="xsd:double"/>
              </xsd:sequence>
            </xsd:complexType>
          </xsd:element>
          <xsd:element name="DELETEOutput">
            <xsd:complexType>
              <xsd:sequence>
                </xsd:sequence>
            </xsd:complexType>
          </xsd:element>
          <xsd:complexType name="ACCOUNT_SKType">
            <xsd:sequence>
              <xsd:element name="ACCOUNT_SK">
                <xsd:complexType>
                  <xsd:sequence>
                    <xsd:element name="ACCOUNT_ID" type="xsd:double"/>
                  </xsd:sequence>
                </xsd:complexType>
              </xsd:element>
            </xsd:sequence>
          </xsd:complexType>
          <xsd:complexType name="ACCOUNT_OType">
            <xsd:sequence>
              <xsd:element name="ACCOUNT_O">
                <xsd:complexType>
                  <xsd:sequence>
                    <xsd:element name="ACCOUNT_ID" type="xsd:double"/>
                    <xsd:element name="ACCOUNT_NUMBER">
                      <xsd:simpleType>
                        <xsd:restriction base="xsd:string">
                          <xsd:maxLength value="100"/>
                        </xsd:restriction>
                      </xsd:simpleType>
                    </xsd:element>
                    <xsd:element name="ACCOUNT_NAME">
                      <xsd:simpleType>
                        <xsd:restriction base="xsd:string">
                          <xsd:maxLength value="50"/>
                        </xsd:restriction>
                      </xsd:simpleType>
                    </xsd:element>
                    <xsd:element name="ACTIVE" type="xsd:double"/>
                    <xsd:element name="DEACTIVE_DATE" type="xsd:date"/>
                    <xsd:element name="START_DATE" type="xsd:date"/>
                    <xsd:element name="END_DATE" type="xsd:date"/>
                    <xsd:element name="ROLLOVER_ACCOUNT_NUMBER">
                      <xsd:simpleType>
                        <xsd:restriction base="xsd:string">
                          <xsd:maxLength value="100"/>
                        </xsd:restriction>
                      </xsd:simpleType>
                    </xsd:element>
                    <xsd:element name="ROLLOVER_ACCOUNT_NAME">
                      <xsd:simpleType>
                        <xsd:restriction base="xsd:string">
                          <xsd:maxLength value="50"/>
                        </xsd:restriction>
                      </xsd:simpleType>
                    </xsd:element>
                    <xsd:element name="ROLLOVER_SPEED_CODE">
                      <xsd:simpleType>
                        <xsd:restriction base="xsd:string">
                          <xsd:maxLength value="10"/>
                        </xsd:restriction>
                      </xsd:simpleType>
                    </xsd:element>
                    <xsd:element name="LAST_UPDATE_DATE" type="xsd:date"/>
                  </xsd:sequence>
                </xsd:complexType>
              </xsd:element>
            </xsd:sequence>
          </xsd:complexType>
        </xsd:schema>
      </types>
      <message name="UPDATEInputMessage">
        <part name="parameters" element="tns:UPDATEInput"/>
      </message>
      <message name="UPDATEOutputMessage">
        <part name="parameters" element="tns:UPDATEOutput"/>
      </message>
      <message name="NEWInputMessage">
        <part name="parameters" element="tns:CACCOUNT_SK-NEWInput"/>
      </message>
      <message name="NEWOutputMessage">
        <part name="parameters" element="tns:NEWOutput"/>
      </message>
      <message name="GETInputMessage">
        <part name="parameters" element="tns:CACCOUNT_O-GETInput"/>
      </message>
      <message name="GETOutputMessage">
        <part name="parameters" element="tns:GETOutput"/>
      </message>
      <message name="DELETEInputMessage">
        <part name="parameters" element="tns:DELETEInput"/>
      </message>
      <message name="DELETEOutputMessage">
        <part name="parameters" element="tns:DELETEOutput"/>
      </message>
      <portType name="ACCOUNT_APIPortType">
        <operation name="UPDATE">
          <input message="tns:UPDATEInputMessage"/>
          <output message="tns:UPDATEOutputMessage"/>
        </operation>
        <operation name="NEW">
          <input message="tns:NEWInputMessage"/>
          <output message="tns:NEWOutputMessage"/>
        </operation>
        <operation name="GET">
          <input message="tns:GETInputMessage"/>
          <output message="tns:GETOutputMessage"/>
        </operation>
        <operation name="DELETE">
          <input message="tns:DELETEInputMessage"/>
          <output message="tns:DELETEOutputMessage"/>
        </operation>
      </portType>
      <binding name="ACCOUNT_APIBinding" type="tns:ACCOUNT_APIPortType">
        <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/ht
    tp"/>
        <operation name="UPDATE">
          <soap:operation soapAction="UPDATE"/>
          <input>
            <soap:body parts="parameters" use="literal"/>
          </input>
          <output>
            <soap:body parts="parameters" use="literal"/>
          </output>
        </operation>
        <operation name="NEW">
          <soap:operation soapAction="NEW"/>
          <input>
            <soap:body parts="parameters" use="literal"/>
          </input>
          <output>
            <soap:body parts="parameters" use="literal"/>
          </output>
        </operation>
        <operation name="GET">
          <soap:operation soapAction="GET"/>
          <input>
            <soap:body parts="parameters" use="literal"/>
          </input>
          <output>
            <soap:body parts="parameters" use="literal"/>
          </output>
        </operation>
        <operation name="DELETE">
          <soap:operation soapAction="DELETE"/>
          <input>
            <soap:body parts="parameters" use="literal"/>
          </input>
          <output>
            <soap:body parts="parameters" use="literal"/>
          </output>
        </operation>
      </binding>
      <service name="ACCOUNT_APIService">
        <documentation>Oracle Web Service</documentation>
        <port name="ACCOUNT_APIPort" binding="tns:ACCOUNT_APIBinding">
          <soap:address location="http://127.0.0.1/orawsv/WEB_API/ACCOUNT_API"/>
        </port>
      </service>
    </definitions>But I think you said it was intermittant

  • XDB Native Web Services - Collection of object types

    Hello,
    my DB 11g (11.1.0.6.0) is enabled to use XDB Native Web Services, everything works as it should. I already use it successfully to publish a web service with object types as OUT parameter. They are created as complex types in the XML response as described here: [http://download.oracle.com/docs/cd/B28359_01/appdev.111/b28369/xdb_web_services.htm#CHDGBFID]
    But what I need is a collection of these object types, e.g.
    I have a type FLIGHT with some information elements (departure, arrival, date, time, price) and I have a web service function GET_AVAILABILITY with parameters departure, arrival and date. What I want is to return a collection of FLIGHT objects, it could be none, one or many flights for a request.
    For the moment I create another object type which contains a fix number of FLIGHT objects to work around the collection issue:
    create flight_tab_typ as object (
    fl1 flight_typ
    ,fl2 flight_typ
    ,fl3 flight_typ
    I tried to build a PL/SQL table of object type and also a VARRAY of object type but for both the WSDL of the web service cannot be build up correctly in the web browser. For me it seems that this is not supported by the Native Web Services.
    I know I can build up my own XMLTYPE with XML structure as OUT parameter but to use object types is much easier and it builds up the XML structure automatically.
    Does anybody know how to use collections (VARRAY or PL/SQL Tables) with the Native XML DB Web Services?
    Thanks,
    Andreas

    Hi flea,
    I use complex types with XDB native webservices. Here is an example. Using people/groups objects. I haven't compiled this so there may be some typos etc, but it should give you the idea.
    Beware!I have had problems with the created WSDL file in that it doesn't always include the namespace from all types. In many client packages ( JDevloper , SOAPUI etc) this causes a wsdl import failure.
    You can add the missing namespace by hand a load the WSDL file locally and then it should work. I haven't raised an SR with Oracle about this yet.
    Assume you create the following under SCoTT schema on machine host.com on port 8080.
    The webservice[WSDL] will be available from
    http://host.com:8080/orawsv/SCOTT/WEBSERVCIES/GET_GROUP[?wsdl]
    For other peoples sanity it took me a little while to realise the WSDL url is case specific. E.g. the schema, package and functions have to be UPPER case.
    create table people_groups_tab (group_name varchar2(40 char),first_name varchar2(40 char),last_name varchar2(40 char))
    insert into people_groups_tab values ('FINANCE','Joe','Bloggs')
    insert into people_groups_tab values ('FINANCE','Bob','Jones')
    insert into people_groups_tab values ('IT','Alan','Andrews')
    create or replace type person_obj
    as object
         first_name people_groups_tab.first_name%type
         ,last_name people_groups_tab.last_name%type
    create or replace type people_obj
    as table of person_obj
    create or replace type people_groups_obj
    as object
    group_name varchar2(40 char)
    people people_obj
    create or replace package webservices
    as
              function get_group
         p_group_name varchar2
              ) return people_groups_obj;
    end;
    create or replace package body webservices
    as
              function get_group
         p_group_name varchar2
              ) return people_groups_obj
    as
    l_group people_groups_obj;
              l_people people_obj;
    begin
              select person_obj
                        first_name
                        ,last_name
              bulk collect into l_people
              from people_groups_tab
              where group_name p_group_name;
              l_group := people_groups_obj(p_group_name,l_people);
              return l_group;
    end;
    end;
    /

  • Database Native web services - load balancing,  Instrumentation , security

    Hello –
    I’m proposing use of Database Native web service in our company. Our architects are asking following questions so appreciate your help
    a.     How do you load balance across the DB WS (is there a way to use the F5 to detect downtime and balance the load across the DB servers)? We will be using RAC configuration with 3 nodes.
    b.     Our architect have security concern as user id/password information are in the web service URL, which may prove to be an issue. Is there a way to mitigate this risk?
    c.     Instrumentation in this approach (db native services) is questionable due to development/auto gen of the service logic from the DB itself. We may investigate wrapping the services with OSB to give us an additional instrumentation, policy enforcement, endpoint mediation and security proxy. Thoughts??
    d.     Architect are curious regarding any potential performance issues this may have on the DB server.
    Thanks

    Hi
    We've recently begun using Native Web Services, intending to roll out this approach across the enterprise, but we've encountered 2 significant problems so far, which you may want to consider before proceeding ...
    1. NWS returns an exception if the underlying PL/SQL returns a null value - even if the PL/SQL has completed successfully, and null is a legitimate return value (see SR 3-6201969101 - it contains simple instructions to recreate the problem)
    (I raised it in this forum but there were no replies - SOAP Fault when returning null from a Native Web Service Stored Procedure
    2. The sequence of values returned in the NWS response message is the opposite to the sequence declared in the auto-generated wsdl - i.e. schema validation will fail (see SR 3-6209016991 - it also contains simple instructions to replicate)
    We have coded a workaround for problem 1. where we return <EMPTY> in place of null, and check for it in the client, but without proper resolution we're not prepared to use NWS elsewhere
    As a workaround for problem 2. we removed schema validation, again not ideal
    Both SRs were escalated 9 days ago, but are still outstanding
    Incidentally our database is 11.2.0.1, but I've tested on 11.2.0.3 and both problems are still present
    We also wrap the NWS services using an OSB Proxy Service, and came across the same security issue that you describe (b) - to provide the credentials required for the NWS, simply create a Service Account (containing the credentials) inside OSB and attach it to the Business Service which invokes the NWS (http://docs.oracle.com/cd/E17904_01/doc.1111/e15867/service_accounts.htm)
    HTH

  • How to return multiple record with Oracle Native Web Service?

    Dear all,
    I would like to know that the oracle native web service can be able to return multiple records to client or not?
    I successfully developed the oracle native web service for returning single record but the next challenge is to develop web service in order to return multiple record (like Employees data base on each department)
    Thank and Regards,
    Zenoni

    I successfully developed the oracle native web service for returning single record but the next challenge is to develop web service in order to return multiple record (like Employees data base on each department)You could return a list (multiple values/records) in XML format (using XMLType or CLOB), or CSV, or JSON, or whatever.
    function get_employees (p_department_id in number) return clob
    as
    begin
      return 'your_xml_string_here';
    end get_employees;It would be up to the client (the caller of the web service) to extract the values from whatever format you decide upon, of course.
    - Morten
    http://ora-00001.blogspot.com

  • Invoke Bpel Processes via API or Web Service Proxy Clients

    Hi all,
    I was wondering if any of the felow community members have found information regarding best practices in invoking bpel processes from a user interface other than ADF Faces?
    Currently I'm using Web Service Proxy Clients to invoke my bpel processes, but I was wondering if it would be better to use the BPEL API?
    Considerations I have regarding these 2 different approaches are mostly tight integration when using the BPEL API, because this means I have to port the BPEL (Oracle Code) inside my UI-application which isn't the case when using Web Service Proxy Clients.
    What is the best way to instantiate bpel processes from a user interface, is that by using web service proxy clients or by using the bpel i
    nvocation API?
    Kind regards,
    Nathalie

    Hi Marc,
    These were my considerations as well, but I was looking for some kind of benchmarking regarding these 2 approaches. What's best practices when hooking up bpel inside UI Applications regarding performance, future-proofness (SOA Grid, SOA Composites, ...) etc.
    I think I need to discuss this with the product team to make sure I'm taking the wright decisions.
    Kind regards,
    Nathalie

  • Enable Web Service access for a Web service-enabled client

    Hi,
    I want to access data in Oracle CRM On Demand from a Web services-enabled client. The "Oracle Web Services On Demand Guide" suggest the Web Services Access should be granted by Customer Care representative. By default, this access is enabled for the Administrator role for new companies. However my admin account can't access web services from a web enable client.
    Can anyone please suggest me the setting/step that i need to enable Oracle On Demand Web service access from a Web services-enabled client?
    Note: I am new to oracle on demand so my query can be a silly thing.
    Thanks & Regards
    Ravish

    I was able to resolve this issue. Actually, i was trying with trial account that don't allow the OCOD web service integration.

  • Native Web Services and Collection of Records

    Hi
    I want to use XMLDB Native Web Services but one of my requirements is for the web service to pass in to Oracle a collection of records as a input parameter to the stored procedure.
    What is the best way to achieve this with Native Web Services ? A couple of options I can think of below, are there any others ?
    1. Create a stored procedure with an IN parameter defined as CLOB or XMLTYPE (which is best, does DBNWS work with XMLTYPE ?) and structure the XSD/XML to contain the required record structure. See below
    CREATE OR REPLACE PROCEDURE test_using_xml (
    p_xmlin IN XMLTYPE,
    p_xmlout OUT XMLTYPE) AS
    BEGIN
    BLAH, BLAH, BLAH;
    END;
    2. Define TYPES as below
    CREATE OR REPLACE TYPE MEMBER_REC AS OBJECT
    (FIRST_NAME VARCHAR2(10),
    LAST_NAME VARCHAR2(10));
    CREATE OR REPLACE TYPE MEMBER_TAB AS TABLE OF MEMBER_REC;
    CREATE OR REPLACE TYPE MEMBER_TAB_OBJ AS OBJECT (DUMMY MEMBER_TAB);
    CREATE OR REPLACE PROCEDURE get_quote (
    p_members IN MEMBER_TAB_OBJ) AS
    BEGIN
    NULL;
    END;
    Thanks

    This is what we ended up using, creating complex object types. Seems to work quite well. The object also is effective your SOA Contract which is quite nice.
    The generated WSDL is reasonably straight forward and logical apart from a few naming quirks.
    CREATE OR REPLACE TYPE MEMBER_REC_IN AS OBJECT
    (PERSON_NUMBER CHAR(2),
    RELATIONSHIP_CODE CHAR(1),
    FIRST_NAME VARCHAR2(10),
    LAST_NAME VARCHAR2(10),
    GENDER CHAR(1),
    DATE_OF_BIRTH DATE);
    CREATE OR REPLACE TYPE MEMBER_REC_OUT AS OBJECT
    (PERSON_NUMBER CHAR(2),
    API NUMBER);
    CREATE OR REPLACE TYPE MEMBER_TAB_IN AS TABLE OF MEMBER_REC_IN;
    CREATE OR REPLACE TYPE MEMBER_TAB_OUT AS TABLE OF MEMBER_REC_OUT;
    CREATE OR REPLACE TYPE GET_QUOTE_SUBMIT_OBJ AS OBJECT (MESSAGE_GUID VARCHAR2(2000),
    EFFECTIVE_DATE DATE,
    PRODUCT_CODE VARCHAR2(12),
    GROUP_ID VARCHAR2(12),
    ADDRESS_LINE1 VARCHAR2(50),
    ADDRESS_LINE2 VARCHAR2(50),
    CITY VARCHAR2(50),
    COUNTRY VARCHAR2(50),
    POSTCODE VARCHAR2(10),
    FAMILY MEMBER_TAB_IN);
    CREATE OR REPLACE TYPE GET_QUOTE_RESPONSE_OBJ AS OBJECT (MESSAGE_GUID VARCHAR2(2000),
    QUOTE_NUMBER NUMBER,
    API NUMBER,
    FAMILY MEMBER_TAB_OUT,
    RESULT_CODE NUMBER,
    RESULT_DESCRIPTION VARCHAR2(2000));
    CREATE OR REPLACE PROCEDURE get_quote (
    p_quote_in IN GET_QUOTE_SUBMIT_OBJ,
    p_quote_out OUT GET_QUOTE_RESPONSE_OBJ) AS
    BEGIN
    -- Initiliase the record
    p_quote_out := GET_QUOTE_RESPONSE_OBJ(NULL,NULL,NULL,MEMBER_TAB_OUT(),NULL,NULL);
    p_quote_out.message_guid := p_quote_in.message_guid;
    p_quote_out.quote_number := 123456;
    p_quote_out.api := 999.99;
    -- Loop thru the members passed in
    FOR idx IN 1..p_quote_in.family.count LOOP
    -- Extend the array
    p_quote_out.family.EXTEND(1);
    -- Initiliase the record
    p_quote_out.family(idx) := MEMBER_REC_OUT(NULL,NULL);
    p_quote_out.family(idx).person_number := p_quote_in.family(idx).person_number;
    p_quote_out.family(idx).api := idx * 100;
    END LOOP;
    p_quote_out.result_code := 0;
    p_quote_out.result_description := 'test';
    END;
    /

  • Oracle 11g native web services

    Is there any formal explanation about how to configure and create Oracle 11g native web services and how to correctly secure these services? Since Oracle APEX now supports consumption of SOAP and REST web services, it makes sense to have more explanation about creating and securing web services. As many PL/SQL programmers know, it is always not an easy job to develop web services in jDeveloper to work with databases - with all those add-on technologies like jPublisher/Toplink to get tiny things work. It is not easy to find the "how-to" guide about creating and securing Oracle 11g native web services.
    Thanks.
    Andy

    Thanks for the link Tim...it is very useful. I was told that, in APEX 4.2, it will become able to create RESTful web services through APEX - if you run APEX through APEX Listener - by using resource templates in APEX Listener. I will wait for more information about this feature to come out.
    Thanks.
    Andy

Maybe you are looking for

  • XML Query filtering by child table column

    Hello, If anyone can help with this one... it would be nice. I need to make the output of an query to be in the format of XML, but the problem is that the initial filtering needs to be done in the child table. Example: CREATE TABLE PRIMARY( ID NUMBER

  • Status of the Background Job

    Hello Gurus, My requirement is that I am running a current program in the foreground mode .This program can be run in the background mode. In the program I need to check that whether the program is running is foreground mode.if yes then I need to fet

  • When I sync my iphone, a book title showsup in itunes; when I disconnect, I can't see the book on my phone.

    The last time I synched my phone, a book title showed up under the iphone icon in "books"; when I disconnected, I couldn't find the book on my iphone. It doesn't live on my computer, so how can I access it? I tried searching for it on my iphone with

  • Unable to connect to AppSotre.

    I'm using iphone 4s 8GB edition, ChinaUnicom ROM, for some reason I can't connect to AppStore, my wifi connection is good as I can use map or facetime.

  • Delta method preferable for generic data source

    Hi All, I'm working on APOBW ,i need to pull primary sale data into apobw .So ABAP er created a program to pick the data from tables vbrp,vbrk,knvv,mara,marc,t179 and populating into a transparent table.I have created a generic data source using that