How  Stateless Web services requests can be authenticated using HTTP Login

Hi All,
How Stateless Web services requests can be authenticated using HTTP Login (with Oracle CRM On Demand Single Sign On (SSO) Token in HTTP Header).
If there is any code regarding stateless Web services requests to CRMOD please send it to me that will be helpful for me.
Please help me.
Thanks,
Jaysing
Edited by: 883663 on Sep 19, 2011 12:06 AM

You cant use stateless web services when you're using SSO. It's called out in the documentation.

Similar Messages

  • How to bind list data to XML Web service request

    How do I bind specific columns in a DataGrid to the Web
    service request? I'm having trouble finding any documentation that
    addresses that specific pattern, i.e. sending a complex list to the
    server via a Flex Web service send() command. I'm fairly new to
    Flex programming and don't know if what I want to do is possible.
    Here what I've been able to do so far.
    1. Using a Web service called a service on the server and
    retrieved a complex list.
    2. Poplulated a DataGrid with the result
    3. The user has selected multiple rows from the DataGrid
    using a checkbox column
    4. The user pressed a button that calls a Web service send().
    This Web service should only send data from only two columns and
    only for those rows the user has checked.
    5. I can loop over the DataGrid and find the selected rows
    and put them in another ArrayCollection called 'selectedRows'.
    The issue is that I don't know how to bind 'selectedRows' to
    the Web service. Right now I'm reading up on "Working with XML" in
    the Programming with ActionScript 3.0 chapter. But I'm just fishing
    here. No bites yet.

    Don't bind. Build the request object programatically, as you
    are doing with your selectedRows AC, and send(myObject) that.
    Tracy

  • How to access application state from stateless web service?

    I have a beginner J2EE question. After reading through J2EE tutorial, I still don't know how to create an application that would run on J2EE server, and which would have a web service interface to other world, and which would have several threads running, which would connect to other enterprise applications via TCP? Because if I understand it correctly, web service requires a stateless session bean, which means that it can't access any stateleful session bean (except always create one and remove it instantly). So there seems to be no way to store application state and have running threads.
    I'm asking this because .NET seems to have a very simple Application dictionary, which can save all application objects, including threads, and it is very easy to access this Application state from a stateless web service. Isn't there any similar functionality in J2EE? And if not, how it should be done in Java world then?
    I guess that the Connector architecture could be the solution, but it is not documented in the tutorial.

    There's nothing in the J2EE spec that says that you have to use Web Services. Web Services by definition are stateless.
    If your requirements are that you have to use a session bean along with a Web Service, then the architecture needs to be rethought, because it doesn't seem to me that Web Services are what you want.
    That said, you can use a hybrid. You can expose some of the functionality of your application as Web Services while the remaining is implemented in a classic J2EE type framework that is stateful.
    I would also think that you could store your application state via entity beans. You could save and load them when the web service is accessed. An entity bean doesn't require a database... just some form of persistence (could be an XML file for instance).
    You need to decide which components of J2EE make sense when and where.

  • Web Service Requests... how many per page

    Can you only have 1 web service request per page within APEX. I'm guessing so, because I get an HTTP 404 error when I create two or more web service requests on a page?

    Can you have a look at the mod_plsql log file to get the error why the 404 is raised.
    thanks
    Patrick

  • Stateless Web Services - Field Management

    Hi,
    We have a program for querying Field Management data.
    Initially, we used the same approach for this, as we use for any other WS query, i.e., by specifying a JSESSIONID.
    However, then we realized that Field Management Web Services is a stateless web services.
    We tried different approaches (NOTE: we are using C#), like specifiying the credentials using a ICredentials object, etc.; but everytime, we would get a "Missing <wsse:Security> in SOAP Header", error.
    Could some one, please help us out, on how to specify the credentials.
    A sample code, would be much appreciated.
    Regards.

    jessionid -> stateful
    if you want to use stateless SOAP request, you have to set usernane and password in the SOAP HEADER.
    Download OnDemWebSvcs.pdf from your CRM and you can get sample code about how to use stateless web service call.

  • Web service request ....one db connection per session OR all share one...

    in servlet i use
    public void init(ServletConfig config) throws ServletException { }
    so it only gets the db connection once per session
    now that I am working on a web service....im not sure how to do something similiar
    I want to either have all request coming in to use the same ONE connection OR maybe one created per session
    I have way too many web service requests and it creates too many jdbc connections....what can i do to pervent this?
    I dont care if they have to wait longer;
    I just want to cut down the number of jdbc connections to 1 to 2
    any help appreciated, thanks

    You want to use a connection pool. If you just use one connection, your web users are likely to be waiting on the availabilty of the connection. A pool will let you set whatever maximum you want; 1 or 100...
    There are a number of database connection pooling options. One of the morepopular is DBCP, part of the Apache project, which is free and open source.
    http://jakarta.apache.org/commons/dbcp/
    There are other such "drop in" poolers and some database vendors are now supplying connection pooling in their drivers.

  • [Web Service] request arg is array

    Dear all,
    I insert multi-node in web service request.
    Context in EduCusController:
    Request_EducationWSViDocument_createEducationList
    +arg1(0..n)
      -majorField
    In viewController
    IArg1Node DestinationNode =wdThis.wdGetEduCusController().wdGetContext().nodeArg1();
    for (int i = 0; i < 5; i++) {
    ComplexType_EducationJB newejb=new ComplexType_EducationJB();
    IArg1Element newElement =DestinationNode.createArg1Element(newejb);
    newejb.setMajorField(     i);
    DestinationNode.addElement(newElement);
    then i run
    <b>executeRequest_EducationWSViDocument_createEducationList( );</b>
    it have Exception  :  <b>Exception in method CreateEducationList ~</b>
    Can anyone help me.

    HI Naidu,
    how can i do to get complete more stack trace of exception.
    public void executeRequest_EducationWSViDocument_createEducationList( )
        //@@begin executeRequest_EducationWSViDocument_createEducationList()
              //$$begin Service Controller(1148767839)
              IWDMessageManager manager = wdComponentAPI.getMessageManager();
              try {
                   wdContext
                        .currentRequest_EducationWSViDocument_createEducationListElement()
                        .modelObject()
                        ._setHTTPDestinationName("Education_WS");
                   wdContext
                        .currentRequest_EducationWSViDocument_createEducationListElement()
                        .modelObject()
                        .execute();
                   wdContext.nodeResponseResult().invalidate();
              } catch (Exception e) {
                   e.printStackTrace();
                   manager.reportException(e.getMessage(), false);
              //$$end
        //@@end
    PS. i use  Web Services Navigator insert multi-node, and it run OK.

  • Web service request population

    Hi,
    As the <mx:request> structure seems to be the place to
    specify all the web service elements, can anyone please tell me how
    this would work where we could have the situation of optional data?
    For example if there was a web service which accepted a
    number of previous addresses (say 3) but you only had 2 addresses,
    what would the <mx:request> structure contain (i.e. would you
    have to specify the elements three times but leave the the last set
    of elements with no data ( in this case would the flex soap message
    generation automatically leave out the last address elements as
    there is no data, otherwise we could have an issue if the web
    service receives a empty [blank] address?).
    If anyone has a code example of this situation that would
    also be appreciated
    Thanks,
    PhilC

    HI Naidu,
    how can i do to get complete more stack trace of exception.
    public void executeRequest_EducationWSViDocument_createEducationList( )
        //@@begin executeRequest_EducationWSViDocument_createEducationList()
              //$$begin Service Controller(1148767839)
              IWDMessageManager manager = wdComponentAPI.getMessageManager();
              try {
                   wdContext
                        .currentRequest_EducationWSViDocument_createEducationListElement()
                        .modelObject()
                        ._setHTTPDestinationName("Education_WS");
                   wdContext
                        .currentRequest_EducationWSViDocument_createEducationListElement()
                        .modelObject()
                        .execute();
                   wdContext.nodeResponseResult().invalidate();
              } catch (Exception e) {
                   e.printStackTrace();
                   manager.reportException(e.getMessage(), false);
              //$$end
        //@@end
    PS. i use  Web Services Navigator insert multi-node, and it run OK.

  • Debugging my Web Service Request

    Hi,
    I am trying to use standard WS tools (like soapUI) to consume the CW14 WS.
    The first operation I call is Authentication – login.
    I get a good response (“true”) and a “set cookie” back in the soap header.
    I am using this cookie in every Request that follows, to authenticate the session.
    Note 1: if I use a wrong cookie, or set it up incorrectly, I get a “session not authenticated” response, so I know I’m doing it write when I do.
    Now I am trying to call a simple operation like ReadProjects.
    The WSDL for ReadProjects has a set of restrictions on values I am allowed to pass, and I follow them.
    Note 2: there are some mismatches, where for example <Field> can be A,B or C (according to the restrictions in the WSDL) but if I use A, I get a “wrong field value” response. I found that I have to use lower case  (‘a’) instead.
    To make the operation simple, I do as suggested in the documentation and WSDL restriction, and I pass the minimum amount of arguments required ex:
    <Field>title</Field>
    <Filter>ProjectName=MyProjName </Filter>
    Seems like no matter what I try, I get back “error: general error” as a response.
    Any help solving this and getting me on the right path, would be simply amazing.

    No that did not fix the problem, I still get that error
    Web Service Request Failed
    The following fault was returned from the web service call:
    Code          Server.NoService
    String          The AXIS engine could not find a target service to invoke! targetService is rpc/webtopsession

  • When there is web service request, we need to write to text file

    Hello, Im currently using a web service request (particularly the read request variable). What my application does is that when a user enters the url
    http://127.0.0.1:8001/WebService/Process?1=1&2=0&3​=1&4=0&5=0
    LED 1 and 3 turns on, while the other LEDs are turned off. I would like also to keep text file logs on what is the current time now, and the status of the LEDs. I want only to write to the file everytime the user enters the query in the URL (I dont want to write the logs every second or so, just only when the user presses the go button in the browser) 
    I can now write to a text file the current datetime stamp, and already setup the web services. But I cant figure out how can I execute this write process everytime the user fires up a web request.
    Basically, how can I write to a text file the status of the LEDs each time there is a URL request? 
    Attached is the project. Thanks
    Attachments:
    DOE_LabView_v2.zip ‏15 KB

    One reason you might not be getting any errors is that you aren't looking for errors. Connect up the error clusters and then display what you get.
    Where are you getting the path that you are writing to?
    Mike...
    Certified Professional Instructor
    Certified LabVIEW Architect
    LabVIEW Champion
    "... after all, He's not a tame lion..."
    Be thinking ahead and mark your dance card for NI Week 2015 now: TS 6139 - Object Oriented First Steps

  • Error by sending a Web Service request

    Hi,
    we generated a WSDL from an outbound-interface and build a web application with it. When we send a Web Service request to SAP-XI from our Web Dynpro client application, we get an error "CALL_CONSUMER_ERROR" (of category "XI_J2EE_MESSAGING_SYSTEM"). We find the following entry in the message-log of the adapter engine:
    Error: Return of synchronous errormessage to the calling application: com.sap.aii.af.ra.ms.api.RecoverableException: java.lang.RuntimeException: Error while silently connecting: org.w3c.www.protocol.http.HttpException: iaik.security.ssl.SSLException: Server certificate rejected by ChainVerifier.
    Error: The Transmission of the message with https://hpsaps01.inveos.com:8001/sap/xi/engine?type=entry failed, because: com.sap.aii.af.ra.ms.api.RecoverableException: java.lang.RuntimeException: Error while silently connecting: org.w3c.www.protocol.http.HttpException: iaik.security.ssl.SSLException: Server certificate rejected by ChainVerifier
    does anybody know, how to solve this problem?
    Greetings
    Hildegard

    Hi Stefan,
    correct certificates are established in the meantime and the error-message in the adapterlog has changed. The errorcode still remains "CALL_CONSUMER_ERROR" of category "XI_J2EE_MESSAGING_SYSTEM".
    Adapter-log:
    Error: Return of synchronous errormessage to the calling application: com.sap.aii.af.ra.ms.api.RecoverableException: java.lang.RuntimeException: Error while silently connecting: org.w3c.www.protocol.http.HttpException: java.net.ConnectException: Connection refused.
    Error: The Transmission of the message with https://hpsaps01.inveos.com:8001/sap/xi/engine?type=entry failed, because: com.sap.aii.af.ra.ms.api.RecoverableException: java.lang.RuntimeException: Error while silently connecting: org.w3c.www.protocol.http.HttpException: java.net.ConnectException: Connection refused
    Are there missing any more permissions or is this another error in the configuration?
    Regards
    Hildegard

  • Web Service Request Failed

    Hello,
    Errors in the EE 4 with RedHat ES 3.
    Web Service Request Failed
    The following fault was returned from the web service call:
    Code HTTP
    String (404)/axis/services/rpc/webtopsession
    ------ log -----
    Starting service Tomcat-Standalone
    Apache Tomcat/4.1.29
    Apr 15, 2005 12:26:03 PM org.apache.jk.common.ChannelSocket init
    INFO: JK2: ajp13 listening on /0.0.0.0:8009
    Apr 15, 2005 12:26:03 PM org.apache.jk.server.JkMain start
    INFO: Jk running ID=0 time=0/86 config=null
    AxisFault
    faultCode: {http://xml.apache.org/axis/}HTTP
    faultSubcode:
    faultString: (404)/axis/services/rpc/webtopsession
    faultActor:
    faultNode:
    faultDetail:
    {}string: return code: 404
    <html><head><title>Apache Tomcat/4.1.29 - Error
    report</title><STYLE><!--H1{font-family :
    sans-serif,Arial,Tahoma;color : white;background-color : #0086b2;}
    H3{font-family : sans-serif,Arial,Tahoma;color : white;background-color :
    #0086b2;} BODY{font-family : sans-serif,Arial,Tahoma;color :
    black;background-color : white;} B{color : white;background-color :
    #0086b2;} HR{color : #0086b2;} --></STYLE>
    </head><body><h1>HTTP Status 404 -
    /axis/services/rpc/webtopsession</h1><HR size="1"
    noshade><p><b>type</b> Status
    report</p><p><b>message</b>
    <u>/axis/services/rpc/webtopsession</u></p><p><b>description</b>
    <u>The requested resource (/axis/services/rpc/webtopsession) is not
    available.</u></p><HR size="1"
    noshade><h3>Apache
    Tomcat/4.1.29</h3></body></html>
    (404)/axis/services/rpc/webtopsession
    at
    org.apache.axis.transport.http.HTTPSender.readFromSocket(HTTPSender.java:630)
    at org.apache.axis.transport.http.HTTPSender.invoke(HTTPSender.java:128)
    at
    org.apache.axis.strategies.InvocationStrategy.visit(InvocationStrategy.java:71)
    at org.apache.axis.SimpleChain.doVisiting(SimpleChain.java:150)
    at org.apache.axis.SimpleChain.invoke(SimpleChain.java:120)
    at org.apache.axis.client.AxisClient.invoke(AxisClient.java:180)
    at org.apache.axis.client.Call.invokeEngine(Call.java:2564)
    at org.apache.axis.client.Call.invoke(Call.java:2553)
    at org.apache.axis.client.Call.invoke(Call.java:2248)
    at org.apache.axis.client.Call.invoke(Call.java:2171)
    at org.apache.axis.client.Call.invoke(Call.java:1691)
    at
    com.tarantella.tta.webservices.client.apis.apache.BaseRequest.callServiceWork(BaseRequest.java:316)
    at
    com.tarantella.tta.webservices.client.apis.apache.BaseRequest.callService(BaseRequest.java:213)
    at
    com.tarantella.tta.webservices.client.apis.apache.BaseRequest.callService(BaseRequest.java:205)
    at
    com.tarantella.tta.webservices.client.apis.apache.WebtopSessionRequest.startSession(WebtopSessionRequest.java:62)
    at
    com.tarantella.tta.webservices.client.views.SessionBean.startSession(SessionBean.java:545)
    at
    org.apache.jsp.sessionmanager_jsp.createNewSession(sessionmanager_jsp.java:276)
    at
    org.apache.jsp.sessionmanager_jsp.joinSessionByClientId(sessionmanager_jsp.java:236)
    at
    org.apache.jsp.sessionmanager_jsp._jspService(sessionmanager_jsp.java:619)
    at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:137)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
    at
    org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:210)
    at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:295)
    at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:241)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
    at
    org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:684)
    at
    org.apache.catalina.core.ApplicationDispatcher.doInclude(ApplicationDispatcher.java:575)
    at
    org.apache.catalina.core.ApplicationDispatcher.include(ApplicationDispatcher.java:498)
    at
    org.apache.jasper.runtime.JspRuntimeLibrary.include(JspRuntimeLibrary.java:822)
    at org.apache.jsp.index_jsp._jspService(index_jsp.java:483)
    at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:137)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
    at
    org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:210)
    at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:295)
    at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:241)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
    at
    org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:247)
    at
    org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:193)
    at
    org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:256)
    at
    org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:643)
    at
    org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480)
    at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)
    at
    org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
    at
    org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:643)
    at
    com.tarantella.tta.webservices.valves.InputFilter.invoke(InputFilter.java:74)
    at
    org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:641)
    at
    org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480)
    at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)
    at
    org.apache.catalina.core.StandardContext.invoke(StandardContext.java:2417)
    at
    org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:180)
    at
    org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:643)
    at
    org.apache.catalina.valves.ErrorDispatcherValve.invoke(ErrorDispatcherValve.java:171)
    at
    org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:641)
    at
    org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:172)
    at
    org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:641)
    at
    org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480)
    at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)
    at
    org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:174)
    at
    org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:643)
    at
    org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480)
    at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)
    at org.apache.coyote.tomcat4.CoyoteAdapter.service(CoyoteAdapter.java:193)
    at org.apache.jk.server.JkCoyoteHandler.invoke(JkCoyoteHandler.java:309)
    at org.apache.jk.common.HandlerRequest.invoke(HandlerRequest.java:387)
    at org.apache.jk.common.ChannelSocket.invoke(ChannelSocket.java:673)
    at
    org.apache.jk.common.ChannelSocket.processConnection(ChannelSocket.java:615)
    at org.apache.jk.common.SocketConnection.runIt(ChannelSocket.java:786)
    at
    org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:666)
    at java.lang.Thread.run(Thread.java:534)

    Hello,
    We have same problem on SGD4.2 on Solaris 10 with IE HTML Client.
    Do you solve it ?
    How ?
    Please help.
    Regards.

  • Possible Bug - Web Service Request Not Correct

    Hi,
    I am running ApEx 2.2 and think I may have come across a bug when referencing a web service that has been created using JDeveloper.
    I have created my WSDL in JDev that looks like the following:
    <definitions
    name="MyHelloWorldService"
    targetNamespace="http://helloworldserver/"
    xmlns="http://schemas.xmlsoap.org/wsdl/"
    xmlns:tns="http://helloworldserver/"
    xmlns:soap12="http://schemas.xmlsoap.org/wsdl/soap12/"
    xmlns:mime="http://schemas.xmlsoap.org/wsdl/mime/"
    xmlns:xsd="http://www.w3.org/2001/XMLSchema"
    xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"
    >
    <types>
    <schema xmlns="http://www.w3.org/2001/XMLSchema" targetNamespace="http://helloworldserver/"
    elementFormDefault="qualified" xmlns:tns="http://helloworldserver/" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:soap11-enc="http://schemas.xmlsoap.org/soap/encoding/">
    <element name="getCountElement">
    <complexType>
    <sequence/>
    </complexType>
    </element>
    <element name="getCountResponseElement">
    <complexType>
    <sequence>
    <element name="result" type="int"/>
    </sequence>
    </complexType>
    </element>
    <element name="sayHelloElement">
    <complexType>
    <sequence>
    <element name="name" type="string" nillable="true"/>
    </sequence>
    </complexType>
    </element>
    <element name="sayHelloResponseElement">
    <complexType>
    <sequence>
    <element name="result" type="string" nillable="true"/>
    </sequence>
    </complexType>
    </element>
    </schema>
    </types>
    <message name="IHelloWorld_getCount">
    <part name="parameters" element="tns:getCountElement"/>
    </message>
    <message name="IHelloWorld_getCountResponse">
    <part name="parameters" element="tns:getCountResponseElement"/>
    </message>
    <message name="IHelloWorld_sayHello">
    <part name="parameters" element="tns:sayHelloElement"/>
    </message>
    <message name="IHelloWorld_sayHelloResponse">
    <part name="parameters" element="tns:sayHelloResponseElement"/>
    </message>
    <portType name="MyHelloWorldService">
    <operation name="getCount">
    <input message="tns:IHelloWorld_getCount"/>
    <output message="tns:IHelloWorld_getCountResponse"/>
    </operation>
    <operation name="sayHello">
    <input message="tns:IHelloWorld_sayHello"/>
    <output message="tns:IHelloWorld_sayHelloResponse"/>
    </operation>
    </portType>
    <binding name="MyHelloWorldServiceSoapHttp" type="tns:MyHelloWorldService">
    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
    <operation name="getCount">
    <soap:operation soapAction="http://helloworldserver//getCount"/>
    <input>
    <soap:body use="literal"/>
    </input>
    <output>
    <soap:body use="literal"/>
    </output>
    </operation>
    <operation name="sayHello">
    <soap:operation soapAction="http://helloworldserver//sayHello"/>
    <input>
    <soap:body use="literal"/>
    </input>
    <output>
    <soap:body use="literal"/>
    </output>
    </operation>
    </binding>
    <service name="MyHelloWorldService">
    <port name="MyHelloWorldServiceSoapHttpPort" binding="tns:MyHelloWorldServiceSoapHttp">
    <soap:address location="http://cjbrown-lap:8888/HelloWorld-HelloWorldServer-context-root/MyHelloWorldServiceSoapHttpPort"/>
    </port>
    </service>
    </definitions>
    When referencing this in ApEx it can see the methods getCount and sayHello, and it can also see all the input and output parameters. The problem comes when I test the web service.
    The request generated by ApEx is the following for the sayHello method:
    <?xml version='1.0' encoding='UTF-8'?><SOAP-ENV:Envelope
    xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"
    xmlns:xsi="http://www.w3.org/1999/XMLSchema-instance"
    xmlns:xsd="http://www.w3.org/1999/XMLSchema">
    <SOAP-ENV:Body><namesp1:sayHello xmlns:namesp1="http://helloworldserver/"><namesp1:name xsi:type="xsd:string"></namesp1:name></namesp1:sayHello></SOAP-ENV:Body></SOAP-ENV:Envelope>
    This returns the following message from the webservice:
    <?xml version="1.0" encoding="UTF-8"?>
    <env:Envelope xmlns:env="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:ns0="http://helloworldserver/"><env:Body><env:Fault><faultcode>env:Client</faultcode><faultstring>Caught exception while handling request: unexpected element name: expected={http://helloworldserver/}sayHelloElement, actual={http://helloworldserver/}sayHello</faultstring></env:Fault></env:Body></env:Envelope>
    The correct request should in fact be:
    <?xml version='1.0' encoding='UTF-8'?><SOAP-ENV:Envelope
    xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"
    xmlns:xsi="http://www.w3.org/1999/XMLSchema-instance"
    xmlns:xsd="http://www.w3.org/1999/XMLSchema">
    <SOAP-ENV:Body><namesp1:sayHelloElement xmlns:namesp1="http://helloworldserver/"><namesp1:name xsi:type="xsd:string">Chris</namesp1:name></namesp1:sayHelloElement></SOAP-ENV:Body></SOAP-ENV:Envelope>
    This will return the expected message:
    <?xml version="1.0" encoding="UTF-8"?>
    <env:Envelope xmlns:env="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:ns0="http://helloworldserver/"><env:Body><ns0:sayHelloResponseElement><ns0:result>Hello Chris</ns0:result></ns0:sayHelloResponseElement></env:Body></env:Envelope>
    What ApEx seems to be doing is using the name of the method, rather than what is being detailed in the WSDL as the expected input envelope. It is also not showing the input parameters as an input box in the test instead is shows "Report returned no rows".
    I have managed to get around this issue in a less than ideal way be modifying the NAME column in the WWV_FLOW_WS_OPERATIONS table to sayHelloElement instead of sayHello, and the TYPE_IS_XSD column in the WWV_FLOW_WS_PARAMETERS table to Y instead of N, in the FLOWS_020200 schema.
    It now works fine, but why what could have caused it to not be correct in the first place? The answer to this is very important to me as I am working on a way to call XML Publisher seemlessly, without using a URL link, from ApEx, and then emailing the output document to the user. I don't want to have to modify the underlying tables each time I add a new web service reference in ApEx.
    Any comments, views, assistance is welcome here.
    Many Thank in Advance
    Cj

    Tony:
    Thanks for reporting the issue. There was a change in the session pop-up page to include reporting on the new xmltype column in collections. Unfortunately the wrong function is being called on the xmltype column to display its contents. This will be fixed in an upcoming release.
    Application Express 4.0 Web service support makes use of this new xmltype column in a collection. Therefore if you call a web service that returns a large XML document, and you click the session toolbar, you will receive the error.
    Regards,
    Jason

  • HTTP Web Service Request

    Using C#, I am trying to access my OnDemand account using https POST web service requests. Since I am new to this whole Siebel WS thing, I decided to try the easiest WS request: CurrentUser.
    My request URL is
    https://secure-ausomxaxa.crmondemand.com/Services/Integration/CurrentUser;jsessionid=xxxxxxx
    The SOAP payload is:
    <?xml version="1.0" encoding="utf-8"?>
    <soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
    <soap:Body>
    <CurrentUserWS_CurrentUserQueryPage_Input xmlns="urn:crmondemand/ws/currentuser">
    <ListOfCurrentUser xmlns="urn:/crmondemand/xml/currentuser">
    <CurrentUser>
    </CurrentUser>
    </ListOfCurrentUser>
    </CurrentUserWS_CurrentUserQueryPage_Input>
    </soap:Body>
    </soap:Envelope>
    When I send this request, I get an error status 400. Bad Request.
    Thanks

    Try adding a forward slash at the end of "urn:crmondemand/ws/currentuser". I think that's how it is in the generic WSDL.
    Also, if you don't specify any fields between <CurrentUser> and </CurrentUser>, you won't get any fields back (once your request succeeds, that'll be your next problem).
    Also, if you get HTTP status 400, reading the body of the HTTP response will get you a long way towards understanding what's wrong. It should contain a detailed error message.

  • Permissions Web Service Requests

    Okay, I'm moving from "Groups" to "Permissions".
    This post is just an FYI…not sure it's a bug or a feature…or even a little bit of both at the same time.
    In the "Permissions" web service requests (AddPermission, etc.) if you do not specify either a ParentHandle or ParentPath, the web service request is applied to your site root. You can still use a single forward slash as ParentPath for "root"…it has the same effect as leaving ParentPath and ParentHandle empty.
    If I recall correctly, most requests that take either a handle or path will return an error if neither is specified. I think this may be one of a small subset of requests that assumes "root" if both are missing.

    More notes on permissions…again, I think things work as intended, but I thought I'd mention this tidbit in the event that it might be useful to others.
    MergePermission can only work with an existing permission (access-level/credential pair)…this is as expected. If you try to "merge" a permission for a credential which does not exist, or if you do not specify a credential, you get an error saying that MergePermission cannot find the target credential. In effect, MergePermission changes the access-level for any permission it can find by-way-of an existing credential.
    Similarly, you cannot ask MergePermission to change the form of a credential. For example, you cannot use MergePermission to "change the credential whose associated access-level is 'Download' from 'Test@urn:mace…' to 'Student@urn:mace…'." MergePermission must always find that a target credential exists.
    However, when dealing with an existing permission, there is no effective difference between AddPermission and MergePermission. That is, if you add a permission whose credential already exits, then you overwrite it as-if you had merged it. Again, this works as expected. A "student", say, cannot have both "Downlaod" and "No Access" within the same iTunes U page. The only warning I would give is that AddPermission can act destructively…you are not warned, when using it, that if the permission you wish to add corresponds to a permission which already exists, then that permission will be overwritten.

Maybe you are looking for

  • I need to re-add a folder to iTunes after I deleted it.

    I deleted the folder as I had a problem with how I imported it the first time. Then I deleted the information of those songs from iTunes and my cloud sync.  Now I want to add that folder back in again but iTunes doesn't seem to want to re-add it.  Wh

  • Device driver for IPOD NANO...will not install from installation CD

    During first installation of software, program asked to connect the ipod to the pc for possible formatting. PC did not find the hardware drivers on the installation disk, will not reconize the new hardware!!!! Did install itunes and ipod updater fine

  • First GarageBand import: resounding silence

    Torally wet-behind-the-ears Logic Pro 9 nooobie here. Wanted to move to Logic because GB keeps unpredictably and silently wiping real instrument files in the .band package. I'm sick of it and nobody on GB forums can explain why it happens or how to p

  • N73 ME Next Firmware Upgrade Should Have!

    Would the next Firmware Update for N73 ME could include the following please? - 4GB Mini-SD Card Support - 8 Equalizer Bars (Same as N91) Updates - Music Library Does Not Refresh When Music Sent Via Mass Storage - More Themes Add on - Video Quality R

  • Resolving data connection

    I'm sort of new to Adobe Javascript, but why does this resolve to the right node and give the correct value, [FormCalc] var x = xfa.sourceSet.TestDataConnection1.#command.query.select.value; xfa.host.messageBox(x); but not this: [Javascript] var x =