Using SOAP to access middleware webservice

URL SOAPUrl = new URL(url);
          SOAPConnection con = SOAPConnectionFactory.newInstance().createConnection();
          ByteArrayInputStream stream = new ByteArrayInputStream(xml.getBytes());
          SOAPMessage message = MessageFactory.newInstance().createMessage(null,stream);
          SOAPMessage reply = con.call(message,SOAPUrl);I am using the above mentioned code to send a SOAP message object to a middleware webservice.
But im getting the following exception:
javax.xml.soap.SOAPException: org.xml.sax.SAXException: WSWS3357E: Error: operation description is missing parameter description.
     at com.ibm.ws.webservices.engine.soap.SOAPConnectionImpl.call(SOAPConnectionImpl.java:115)Could anyone suggest me the reason for this and an apt solution?

Hi Paul
I have access to all the documents (JavaScript via Mozilla, Adobe JavaScript API, XFA API etc etc) but none are specific enough to cater for this issue.  I will work this out before too long but it would be very useful if someone who had done this already could shortcut my journey!
Thanks
Roxy

Similar Messages

  • Need Help: Not able to invoke fusion crm webservice using SOAP UI

    Hi,
    I am trying to invoke fusion crm webservice by using SOAP UI, but I am getting Invalid seccurity tocken exception.
    I have followed below steps specified in the oracle support document.
    In Soap UI, Go to File>Preferences ,select the "HTTP Settings' tab on the lower left panel, then select the checkbox 'Authenticate Preemtively'.
    2. From the wsdl extract the content from above wsdl between the tag/elements <dsig:X509Certificate> and </dsig:X509Certificate>
    3. Create a file called certificate.cer ( in local Drive) with above encrypted data enclosed between -----BEGIN CERTIFICATE-----   and -----END CERTIFICATE-----, file content shown below ( note: encrypted data 
        for example
        -----BEGIN CERTIFICATE-----
    MIICCzCCAXSgAwIBAgIETy
        -----END CERTIFICATE-----
    4. Identifiy the java.home of SOAP UI , navigation (Help – System Properties) ,example ( it may be something like D:\SOAP UI download\soapui-4.5.1\jre)
    5.  Find the location of cacert file in SOAP UI ( example D:\SOAP UI download\soapui-4.5.1\jre\lib\security\cacert)
    6. Use following keytool command to add the certificate file certificate.cer into keystore cacert , sample command given below for reference
       keytool -importcert -alias rcpt-key-alias -file "D:\certificate.cer" -keystore "D:\SOAP UI download\soapui-4.5.1\jre\lib\security\cacerts"
       at command prompt when prompted enter password as changeit
    7. Restart SOAP UI and create a new project with https version of WSDL of organizationService
    8. In SOAP UI ,  in Auth tab , provide the user name and password.
    9. Invoke the Webservice
    I have used following request XML in SOAP UI
    <soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:typ="http://xmlns.oracle.com/apps/sales/opptyMgmt/opportunities/opportunityService/types/" xmlns:opp="http://xmlns.oracle.com/apps/sales/opptyMgmt/opportunities/opportunityService/" xmlns:rev="http://xmlns.oracle.com/apps/sales/opptyMgmt/revenues/revenueService/" xmlns:not="http://xmlns.oracle.com/apps/crmCommon/notes/noteService" xmlns:not1="http://xmlns.oracle.com/apps/crmCommon/notes/flex/noteDff/" xmlns:rev1="http://xmlns.oracle.com/oracle/apps/sales/opptyMgmt/revenues/revenueService/" xmlns:act="http://xmlns.oracle.com/apps/crmCommon/activities/activitiesService/" xmlns:wsse="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd" xmlns:soap="soap" xmlns:ns1="http://xmlns.oracle.com/apps/fnd/soaprovider/plsql/fnd_user_pkg/">
       <soapenv:Header>
          <fmw-context xmlns="http://xmlns.oracle.com/fmw/context/1.0"/>
          <wsse:Security soap:mustUnderstand="1">
             <wsse:UsernameToken>
                <wsse:Username>userName</wsse:Username>
                <wsse:Password Type="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-username-token-profile-1.0#PasswordText">Password</wsse:Password>
             </wsse:UsernameToken>
          </wsse:Security>
       </soapenv:Header>
       <soapenv:Body>
          <typ:createOpportunity>
             <typ:opportunity>
                <opp:BudgetedFlag>1</opp:BudgetedFlag>
             </typ:opportunity>
          </typ:createOpportunity>
       </soapenv:Body>
    </soapenv:Envelope>
    It would be great help if someone guide me on this...
    Thanks & Regards
    Samanta Mishra

    For reference here is an example of a SOAP envelope I commonly use with SOAP UI to "query" employee data from HCM:
    <soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:typ="http://xmlns.oracle.com/apps/hcm/employment/core/workerService/types/" xmlns:typ1="http://xmlns.oracle.com/adf/svc/types/">
        <soapenv:Header>
            <wsse:Security soapenv:mustUnderstand="1" xmlns:wsse="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd">
                <wsse:UsernameToken wsu:Id="UsernameToken-2" xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd">
                    <wsse:Username>username</wsse:Username>
                    <wsse:Password Type="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-username-token-profile-1.0#PasswordText">password</wsse:Password>
                    <wsse:Nonce EncodingType="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-soap-message-security-1.0#Base64Binary">jwCzGGijT90Wml6eZe4cxg==</wsse:Nonce>
                    <wsu:Created>2012-07-04T06:49:48.981Z</wsu:Created>
                </wsse:UsernameToken>
            </wsse:Security>
        </soapenv:Header>
        <soapenv:Body>
            <typ:findWorker>
                <typ:findCriteria>
                    <typ1:fetchStart>0</typ1:fetchStart>
                    <typ1:fetchSize>1</typ1:fetchSize>
                    <typ1:filter>
                        <typ1:conjunction>And</typ1:conjunction>
                        <typ1:group>
                            <typ1:conjunction>And</typ1:conjunction>
                            <typ1:upperCaseCompare>false</typ1:upperCaseCompare>
                            <typ1:item>
                                <typ1:conjunction>And</typ1:conjunction>
                                <typ1:upperCaseCompare>false</typ1:upperCaseCompare>
                                <typ1:attribute>PersonNumber</typ1:attribute>
                                <typ1:operator>=</typ1:operator>
                                <typ1:value>123456</typ1:value>
                            </typ1:item>
                        </typ1:group>
                    </typ1:filter>
                </typ:findCriteria>
                <typ:findControl>
                    <typ1:retrieveAllTranslations>false</typ1:retrieveAllTranslations>
                </typ:findControl>
            </typ:findWorker>
        </soapenv:Body>
    </soapenv:Envelope>
    This example works fine for our Fusion Applications Cloud test instance, without any SSL setup or setting credentials on the request properties as the target service supports policy without message protection.
    Based on the your steps your service has message protection policy, so the above will not work rather you need to do additional configuration. Please check the policy on your service to confirm how the call needs to be made. Here are few links and documents:
    "How to invoke Fusion Application TCA webservice from SOAP UI (Doc ID 1496071.1)"  documents how a service with message protection can be called from SOAP UI. Your steps seem identical so presumably they are based on this document.
    "Oracle Fusion Sales Cloud Web Services (Doc ID 1354841.1)" contains information about the CRM web services including examples on the certificate import and sample payloads.
    Please provide:
    The security policies defined on the service (check the wsdl)
    The exact error message the you get
    Jani Rautiainen
    Fusion Applications Developer Relations
    https://blogs.oracle.com/fadevrel/

  • Error while testing webservice using SOAP

    Hi,
    While i was testing my published webservice using soap-ui it gave me following error,
    <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>
    <soap:Fault>
    <faultcode>soap:Server</faultcode>
    <faultstring>Internal SOAP Processing Failure</faultstring>
    <detail/>
    </soap:Fault>
    </soap:Body>
    </soap:Envelope>
    and in the event log i can see a event as follows and there is no warning or error
    Upon investigation i got to know the following steps might solve the problem..i.e..
    - Is the receive location for the SOAP webservice enabled? - YES
    - Can you browse to (the WSDL of) the webservice? Is displayed correctly? -YES
    - Is the webservice configured to run in the correct application pool? -YES
    -The user under which application pool is running have the read/write permission on the %temp% folder.-Dont Know how to check
    -In IIS,Check the identity of the application pool on which Web service is running and make sure that the user is the member of both “IIS_WPG” and “BizTalk Isolated host users”.
    -DONT Know how to check
    Please Help me in guiding me in the last two points
    and if there are any other solutions for this..
    Thanks,
    Sarva.

    You mentioned you checked that the webservice is configured under correct application pool. you can find the user under which the application pool is configured (open iis- > select application pools -> find out the "Identity column" to
    know the user for your application pool.
    -The user under which application pool is running have the read/write permission on the %temp% folder.-Dont Know how to check
    Go to run -> type "%temp%" -> Go one step back -> Right click to the folder -> Properties -> Security -> check the application pool user is present under "Group or user names"
    -In IIS,Check the identity of the application pool on which Web service is running and make sure that the user is the member of both “IIS_WPG” and “BizTalk Isolated host users”.
    -DONT Know how to check
    Refer How to Add Service Account to the IIS_WPG Group to add your application pool user under IIS_WPG. Also similar activity to add your service account to "BizTalk Isolated
    host users" if it is local groups. Or Ask your network support team if "BizTalk Isolated host users" is domain group.
    Please Help me in guiding me in the last two points
    and if there are any other solutions for this..
    Thanks,
    Sarva.
    Your event viewer might have more information pointing exactly what is causing "Internal SOAP processing failure". 
    Also refer this
    which might be helpful for you.
    If this answers your question please mark it as Answer and if this post is helpful, please vote as helpful. Thanks !

  • Use HTTPS to access webservice on standalone OC4J

    I have followed the instructions in the Oracle Containers for J2EE Security Guide for setting up SSL (Chapter 15) on standalone OC4J. I have also looked at Tugs blog about using HTTPS with web services. I believe I have everything setup right but have a problem.
    BTW, I am using a standalone OC4J instance that is also an ESB server. Prior to doing the SSL setup I already had 2 test web services running that could be accessed via http just fine.
    Here is my default-web-site.xml file contents:
    <web-site xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="http://xmlns.oracle.com/oracleas/schema/web-site-10_0.xsd" port="8888" display-name="OC4J 10g (10.1.3) Default Web Site" schema-major-version="10" schema-minor-version="0" >
    <default-web-app application="default" name="defaultWebApp" />
    <web-app application="system" name="dms0" root="/dmsoc4j" />
    <web-app application="system" name="dms0" root="/dms0" />
    <web-app application="system" name="JMXSoapAdapter-web" root="/JMXSoapAdapter" />
    <web-app application="default" name="jmsrouter_web" load-on-startup="true" root="/jmsrouter" />
    <web-app application="javasso" name="javasso-web" root="/jsso" />
    <web-app application="ascontrol" name="ascontrol" load-on-startup="true" root="/em" ohs-routing="false" />
    <web-app application="esb-test" name="esb-test" load-on-startup="true" root="/esbtest" />
    <web-app application="esb-dt" name="esb_console" load-on-startup="true" root="/esb" />
    <web-app application="orainfra" name="orainfra" load-on-startup="true" root="/orainfra" />
    <web-app application="esb-rt" name="provider-war" load-on-startup="true" root="/event" />
    <web-app application="Test-elexnet_service-WS" name="WebServices" load-on-startup="true" root="/Test-elexnet_service-context-root" />
    <web-app application="Test-elexnet_service2-WS" name="WebServices" load-on-startup="true" root="/Test-elexnet_service2-context-root" />
    <access-log path="../log/default-web-access.log" split="day" />
    </web-site>
    Here is my secure-web-site.xml file contents:
    <web-site xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="http://xmlns.oracle.com/oracleas/schema/web-site-10_0.xsd" secure="true" port="4443" display-name="OC4J 10g (10.1.3) Secure Web Site" schema-major-version="10" schema-minor-version="0" >
    <default-web-app application="default" name="defaultWebApp" />
    <web-app application="Test-elexnet_service-WS" name="WebServices" load-on-startup="true" root="/Test-elexnet_service-context-root" />
    <web-app application="Test-elexnet_service2-WS" name="WebServices" load-on-startup="true" root="/Test-elexnet_service2-context-root" />
    <access-log path="../log/secure-web-access.log" split="day" />
    <ssl-config keystore="C:\OracleESB\j2ee\home\oc4jkeystore.jks" keystore-password="xxx" />
    </web-site>
    I also have the following in my server.xml file:
    <application name="javasso" path="../../home/applications/javasso.ear" parent="default" start="false" />
    <application name="ascontrol" path="../../home/applications/ascontrol.ear" parent="system" start="true" />
    <application name="esb-dt" path="../applications/oraesb-dt.ear" parent="default" start="true" />
    <application name="orainfra" path="../applications/orainfra.ear" parent="default" start="true" />
    <application name="esb-rt" path="../applications/oraesb-rt.ear" parent="esb-dt" start="true" />
    <application name="esb-test" path="../applications/oraesb-test.ear" parent="default" start="true" />
    <application name="Test-elexnet_service-WS" path="../applications\Test-elexnet_service-WS.ear" parent="default" start="true" />
    <application name="webapp" path="../applications\webapp.ear" parent="default" start="true" />
    <application name="Test-elexnet_service2-WS" path="../applications\Test-elexnet_service2-WS.ear" parent="default" start="true" />
    <global-web-app-config path="global-web-application.xml" />
    <transaction-manager-config path="transaction-manager.xml" />
    <web-site default="true" path="./default-web-site.xml" />
    <web-site path="./secure-web-site.xml" />
    <cluster id="31671846181898" />
    All I really want is to access the 2 web services via HTTPS. I can access the default applciation via https just fine but when I try to use https to access the web services I get a 404 Not found error (after first getting a security alert popup). I can still access the services via http though. In the log of the server I have the following errors that occured on startup of OC4J. They pertain to the secure web site and there is an error for each web service. I don't understand what they mean/what the problem is:
    <MSG_TEXT>Internal error raised tyring to instantiate web-application: WebServices defined in web site OC4J 10g (10.1.3) Secure Web Site. Error compiling :C:\OracleESB\j2ee\home\applications\Test-elexnet_service2-WS\WebServices: Error instantiating compiler: IO error writing cache: C:\OracleESB\j2ee\home\application-deployments\Test-elexnet_service2-WS\WebServices\deployment-cache.jar</MSG_TEXT>
    <MSG_TEXT>Internal error raised tyring to instantiate web-application: WebServices defined in web site OC4J 10g (10.1.3) Secure Web Site. Error compiling :C:\OracleESB\j2ee\home\applications\Test-elexnet_service-WS\WebServices: Error instantiating compiler: IO error writing cache: C:\OracleESB\j2ee\home\application-deployments\Test-elexnet_service-WS\WebServices\deployment-cache.jar</MSG_TEXT>
    Anyone know what is going on? TIA!
    Nick

    I found that when I REMOVED the following from the default-web-site.xml
    <web-app application="Test-elexnet_service-WS" name="WebServices" load-on-startup="true" root="/Test-elexnet_service-context-root" />
    <web-app application="Test-elexnet_service2-WS" name="WebServices" load-on-startup="true" root="/Test-elexnet_service2-context-root" />
    and restarted OC4J, then everything is ok and I don't get any errors. However I can only access the web services via HTTPS and not HTTP.
    Anybody got any ideas?

  • [svn] 1590: Updating WebService RPC tests that previously used external endpoints at whitemesa . net to now use internal endpoints accessed through Tomcat server on localhost :8400/qa-regress/axis/services/{SERVICE_NAME}?wsdl

    Revision: 1590
    Author: [email protected]
    Date: 2008-05-07 08:49:22 -0700 (Wed, 07 May 2008)
    Log Message:
    Updating WebService RPC tests that previously used external endpoints at whitemesa.net to now use internal endpoints accessed through Tomcat server on localhost:8400/qa-regress/axis/services/{SERVICE_NAME}?wsdl
    Endpoints built from Axis SOAPBuilder tests in Perforce's /depot/axis/xml-axis/java/tests/
    Modified Paths:
    blazeds/branches/3.0.x/qa/apps/qa-regress/WEB-INF/server-config.wsdd
    blazeds/branches/3.0.x/qa/apps/qa-regress/WEB-INF/web.xml
    blazeds/branches/3.0.x/qa/apps/qa-regress/testsuites/flexunit/src/tests/flexunit/wscl/int erop/SOAPBuilderRound3Import1_WhiteMesaTest.as
    blazeds/branches/3.0.x/qa/apps/qa-regress/testsuites/flexunit/src/tests/flexunit/wscl/int erop/SOAPBuilderRound3Import3_WhiteMesaTest.as
    blazeds/branches/3.0.x/qa/apps/qa-regress/testsuites/flexunit/src/tests/flexunit/wscl/int erop/SOAPBuilderRound3RPCEncoded.as
    Added Paths:
    blazeds/branches/3.0.x/qa/apps/qa-regress/WEB-INF/lib/
    blazeds/branches/3.0.x/qa/apps/qa-regress/WEB-INF/lib/javax_mail.jar
    blazeds/branches/3.0.x/qa/apps/qa-regress/WEB-INF/lib/qa-services-wm.jar
    blazeds/branches/3.0.x/qa/apps/qa-regress/testsuites/flexunit/src/tests/flexunit/wscl/int erop/SOAPBuilderRound3Compound1.as

  • Passing table from ABAP to webservice using SOAP

    Hello:
    I am trying to pass table data from ABAP code to a webservice using SOAP.  I have seen many examples of passing single value parameters such as:
      DATA: osoap   TYPE REF TO CSoapDocument.
        GET REFERENCE OF p_refno INTO dref.
        CALL METHOD osoap->add_parameter
          EXPORTING
            direction  = CSoapConstants=>ic_param_in
            name       = 'ws_ref_no'
            value      = dref.
        CALL METHOD osoap->set_tag_name_format
          EXPORTING format = CSoapConstants=>ic_tagfmt_default.
    However I cannot find any code examples of passing table data to a webservice.  Can anyone provide a sample or documentation for how to pass table data to a webservice?
    Thanks,
    Craig

    Hi Craig
    i just posted this on SAPfans for you too!
    if you are not using PI, then follow this....
    http://help.sap.com/erp2005_ehp_04/helpdata/EN/bb/ddb33d2ae46b3be10000000a114084/frameset.htm
    http://help.sap.com/erp2005_ehp_04/helpdata/EN/9b/dad1ae3908ee44a5caf57e10918be9/frameset.htm
    this is converting XSD to ABAP....
    http://help.sap.com/erp2005_ehp_04/helpdata/EN/de/705c3c3806af06e10000000a11402f/frameset.htm
    i have only used PI to do this via ABAP Proxies....

  • Can we access a webservice registered to OWSM gateway using java client

    Hi all,
    Can we access a webservice registered to owsm gateway using a java client.
    Thank you.

    Using com.oracle.bpel.client.Locator to obtain a connection to the BPEL PM.
    how can we invoke a web service if it is registered with OWSM is there any java api
    to do this.
    What are the possible ways we can invoke a web service registered to OWSM?

  • Sender SOAP adapter: access Header fields (dont use envelope and nosoap=1)

    Hi,
    I've just been going through various blogs regarding the SOAP adapter and receiving the actual unconverted content being sent to xi. Trying this out I dont get the exptected result.
    What I have done is simply created a web service in XI - added '&nosoap=true' to the url and set the flag in 'Do not use SOAP envelope'.
    After this I send synchronous message via xmlspy and receive error 'XIServer:CANNOT_READ_PAYLOAD'.
    When checking data received in MDT I only see the envelope containing my additional header info (provided in the request) + some XI headers + a body. The body however pretty much only contain a manifest. The actual payload data that I sent in my request a gone (hence the error message).
    When looking i SXMB_MONI i (naturally) also only see the header and body info - no payload. So when mapping step is reached it complains.
    I'm aware I should use mapping like xslt/java to map the message. But first I need to see the payload.
    Anybody got any clues?
    For information I'm running 2004 SP 19.
    Best Regards,
    Daniel

    Hi,
    This is not a matter of logging or trace levels - all these thing a set as needed.
    I do see the messages but I don't see the actual payload (the body-part sent with my request) in neither the AFW or IE.
    Regards,
    Daniel

  • How to access SOAP header without using SOAP message handler

    I have a requirement to retrieve SOAP header information within each web services operation. So I can't use SOAP message handler. Is there any way to do that? BTW, I am not using workshop.
    Thanks.

    Howeve how can I put data into soap header in UDF? DynamicConfiguration won't work for soap header, right?
    Which data do you want ot put into the Header section.
    ASMA or Dynamic Configuration is used to read/ put the details from/ into the header elements.....
    Refer: http://help.sap.com/saphelp_nw04/helpdata/en/43/0a7d1be4e622f3e10000000a1553f7/frameset.htm
    From the help section:
    This information is not located in the payload of the message, but in additional message header fields.
    Regards,
    Abhishek.

  • File download and Upload using SOAP in Oracle ADF

    Hi Gurus,
    I have a requirement of Uploading and downloading a file on a location. It is for uploading and downloading an Attachments for a user. I have a table in my jspx page for showing the current attachments and an option to upload a new attachment. When I click on attachment name, the file should be downloaded.
    The current implementation does this using SOAP web service. Now, i need to do it with ADF now.
    For Uploading and downloading, i have used FileDownloadActionListner on my page. I am not able to figure out how to use SOAP service in ADF to download or upload a file. what i have done is
    1. Create WebService Data Control with the exposed wsdl.
    2. Created .jspx page and binded the fuctions to the button.
    3. In managed bean class, i have written code to get reference to that web service and invoke it. I am assuming of making the currect call as the response object is not coming as null.
    Now i need to know:
    1. How to verify for the success response from a SOAP web service in the managed bean code.
    2. how to go ahead with the implementation.
    For Upload: I have filename, content and mimetype in the managed bean code function. but how to use those to make a soap call and upload a file at the location.
    For Download: I have DocumentId in the managed bean code function, and how to use it to download a file. How to get the SOAP response in managed bean code and how to handle it.
    Thanks in Advance,
    regards,
    Rajan

    Hi,
    don't have an example, but I suggest to use a JAX-WS proxy client and access it from the POJO DC (instead the WS DC) so you have access to the service responses
    Frank

  • HTTPS post using SOAP

    All,
    I have to make a HTTPS post to an URL https://.......
    Can I do it using SOAP receiver adapter - using - "Dont Use SOAP envelope" option.
    Please advice...
    reg

    Bhavesh,
    Could you please share your thoughts on the following....
    1. Enabled SSL on JAVA engine. - can access https://server:httpsprot(50001)/index.html - but gives a warning that cerficate expired.
    2. We have messages coming from a vendor - outside our firewall. - We have not exchanged any certs or keys.
    I have configured a sender SOAP with -
    Transprot Protocol - HTTP
    Message Protocol - SOAP 1.1
    HTTPS security Level - HTTPS Without Client Authentication.
    I have generated a webservice, used SOAP UI - to send a SOAP request to XI. I can see the message in moni. The end point in the SOAP UI is -
    https://<SERVER>:<HTTPS Port>/XISOAPAdapter/MessageServlet?channel=party:service:channel
    Is there anything that I will have to do to accept the messages from the vendor.
    I am trying to skip the ssl enablement on ABAP engine - so using SOAP adapter.
    When tried to post some data from a webmethods server, it is giving error for some SSL certificatie. As a part of SSL enablement on JAVA, I dont think basis team did install any certificate.
    reg

  • Weblogic 10.3 BEA  Disable Authentication for Accessing specific WebService

    Hi!
    I have established a WebService on my weblogic 10.3 BEA server, and have tried accessing it through SOAtest only to find that it gives me the error: Recieved HTTP response Code: 403 Forbidden. I appreciate that weblogic is securing my webservice ;) but in the context of what I'm doing I would like to allow anonymous access to this specific webservice. This means that I would like any client to be able to access the SOAP communications of this webservice
    Any help is greatly appreciated :)
    Ron

    <TABLE border=0 cellspacing=5><TR><TD><BR CLEAR=all>
    <FONT FACE="Helvetica" COLOR="black" SIZE="3"><H2>Error 403--Forbidden</H2>
    </FONT></TD></TR>
    </TABLE>
    <TABLE border=0 width=100% cellpadding=10><TR><TD VALIGN=top WIDTH=100% BGCOLOR=white><FONT FACE="Courier New"><FONT FACE="Helvetica" SIZE="3"><H3>From RFC 2068 <i>Hypertext Transfer Protocol -- HTTP/1.1</i>:</H3>
    </FONT><FONT FACE="Helvetica" SIZE="3"><H4>10.4.4 403 Forbidden</H4>
    </FONT><P><FONT FACE="Courier New">The server understood the request, but is refusing to fulfill it. Authorization will not help and the request SHOULD NOT be repeated. If the request method was not HEAD and the server wishes to make public why the request has not been fulfilled, it SHOULD describe the reason for the refusal in the entity. This status code is commonly used when the server does not wish to reveal exactly why the request has been refused, or when no other response is applicable.</FONT></P>
    </FONT></TD></TR>
    </TABLE>

  • Getting HTTP transport error: when trying to access the webservices

    Hi,
    I have created proxy in JDeveloper 10g. When trying to access the webservices, getting the following error:
    javax.xml.rpc.soap.SOAPFaultException: exception on JaxRpc invoke: HTTP transport error:
    javax.xml.soap.SOAPException: java.security.PrivilegedActionException:
    oracle.j2ee.ws.saaj.ContentTypeException: Not a valid SOAP Content-Type: text/html
         at oracle.j2ee.ws.client.StreamingSender._raiseFault(StreamingSender.java:578)
         at oracle.j2ee.ws.client.StreamingSender._sendImpl(StreamingSender.java:400)
         at oracle.j2ee.ws.client.StreamingSender._send(StreamingSender.java:113)
         at com.tenncare.payment.proxy.runtime.__soap_pipe_execute_ppt_Stub.execute(__soap_pipe_execute_ppt_Stub.java:76)
         at com.tenncare.payment.proxy.__soap_pipe_execute_pptClient.execute(__soap_pipe_execute_pptClient.java:69)
         at com.tenncare.payment.proxy.__soap_pipe_execute_pptClient.main(__soap_pipe_execute_pptClient.java:43)
    Process exited with exit code 0.
    Can anyone help me what might be the reason. If you need more information, I can post it in the next.

    Hi,
    Can you just check your end point URL, and try with appending user name and password at the end of it as parrameters like http://<end point URL>&UserName=admin&Password=admin.
    Other wise check the SOAP request which is going to server using any tool as SOAP UI.
    Regards,
    Vikram

  • PHP using soap to call EJB

    Hello everybody,
    I've a problem to call a EJB form a PHP script.
    There is a Apache with PHP 5.2.0 and a SAP NetWeaver Application Server 7.10 / AS Java 7.10 running on the system.
    I wanted to use soap to call a method in an EJB. It's only a test EJB:
    [code]
    package beans;
    import javax.ejb.Stateless;
    import javax.jws.WebService;
    import javax.jws.WebMethod;
    @WebService(name="HelloWorldEARBean",serviceName="HelloWorldEARBeanService",targetNamespace="http://beans/",portName="HelloWorldEARBeanPort") @Stateless public class HelloWorldEARBean {
      @WebMethod public String sayHello(String testStr){
                return "Hello Mr. "+testStr;
      @WebMethod public String getReturn(String inputStr){
                return "the return value is"+inputStr;
    [/code]
    I tried it with the PEAR SOAP in the following script:
    [code]
    <?php
    require_once 'SOAP/Client.php';
    $wsdl_url     = 'http://localhost:50000/HelloWorldEARBeanService/HelloWorldEARBean?wsdl';
    $WSDL = new SOAP_WSDL($wsdl_url);
    $client = $WSDL->getProxy();
    $client->__trace(1);
    $options=array('namespace' => 'http://beans/',
      'style' => 'rpc',
      'soapaction' => 'sayHello');
    $NAME = "Bob"; 
    $parameters=array(
         'parameters', $NAME
    $result = $client->getReturn($parameters);
    echo "<pre>";
    print_r($params);
    echo "</pre>";
    echo "<h2>return</h2>";
    echo "<pre>";
    print_r($result);
    echo "</pre>";
    echo '<h2>Request</h2>';
    echo '<pre>' . htmlspecialchars($client->__getlastrequest(), ENT_QUOTES) . '</pre>';
    echo '<h2>Response</h2>';
    echo '<pre>' . htmlspecialchars($client->__getlastresponse(), ENT_QUOTES). '</pre>';
    ?>
    [/code]
    The AS distributes the following WSDL:
    [code]
    - <wsdl:definitions xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" targetNamespace="http://beans/" xmlns:tns="http://beans/">
    - <wsdl:types>
    - <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" version="1.0" targetNamespace="http://beans/">
      <xs:element name="getReturn" type="tns:getReturn" />
      <xs:element name="getReturnResponse" type="tns:getReturnResponse" />
      <xs:element name="sayHello" type="tns:sayHello" />
      <xs:element name="sayHelloResponse" type="tns:sayHelloResponse" />
    - <xs:complexType name="sayHello">
    - <xs:sequence>
      <xs:element name="arg0" type="xs:string" minOccurs="0" />
      </xs:sequence>
      </xs:complexType>
    - <xs:complexType name="sayHelloResponse">
    - <xs:sequence>
      <xs:element name="return" type="xs:string" minOccurs="0" />
      </xs:sequence>
      </xs:complexType>
    - <xs:complexType name="getReturn">
    - <xs:sequence>
      <xs:element name="arg0" type="xs:string" minOccurs="0" />
      </xs:sequence>
      </xs:complexType>
    - <xs:complexType name="getReturnResponse">
    - <xs:sequence>
      <xs:element name="return" type="xs:string" minOccurs="0" />
      </xs:sequence>
      </xs:complexType>
      </xs:schema>
      </wsdl:types>
    - <wsdl:message name="sayHelloIn">
      <wsdl:part name="parameters" element="tns:sayHello" />
      </wsdl:message>
    - <wsdl:message name="sayHelloOut">
      <wsdl:part name="sayHelloResponse" element="tns:sayHelloResponse" />
      </wsdl:message>
    - <wsdl:message name="getReturnIn">
      <wsdl:part name="parameters" element="tns:getReturn" />
      </wsdl:message>
    - <wsdl:message name="getReturnOut">
      <wsdl:part name="getReturnResponse" element="tns:getReturnResponse" />
      </wsdl:message>
    - <wsdl:portType name="HelloWorldEARBean">
    - <wsdl:operation name="sayHello" parameterOrder="parameters">
      <wsdl:input message="tns:sayHelloIn" />
      <wsdl:output message="tns:sayHelloOut" />
      </wsdl:operation>
    - <wsdl:operation name="getReturn" parameterOrder="parameters">
      <wsdl:input message="tns:getReturnIn" />
      <wsdl:output message="tns:getReturnOut" />
      </wsdl:operation>
      </wsdl:portType>
    - <wsdl:binding name="HelloWorldEARBeanBinding" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" type="tns:HelloWorldEARBean">
      <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http" />
    - <wsdl:operation name="sayHello">
      <soap:operation soapAction="" />
    - <wsdl:input>
      <soap:body parts="parameters" use="literal" />
      </wsdl:input>
    - <wsdl:output>
      <soap:body use="literal" />
      </wsdl:output>
      </wsdl:operation>
    - <wsdl:operation name="getReturn">
      <soap:operation soapAction="" />
    - <wsdl:input>
      <soap:body parts="parameters" use="literal" />
      </wsdl:input>
    - <wsdl:output>
      <soap:body use="literal" />
      </wsdl:output>
      </wsdl:operation>
      </wsdl:binding>
    - <wsdl:service name="HelloWorldEARBeanService">
    - <wsdl:port name="HelloWorldEARBeanPort" binding="tns:HelloWorldEARBeanBinding">
      <soap:address xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" location="http://localhost:50000/HelloWorldEARBeanService/HelloWorldEARBean" />
      </wsdl:port>
      </wsdl:service>
      </wsdl:definitions>
    [/code]
    By the following output it's obvious that the AS or the EJB (webservice) doesn't receive the parameter send by the PHP script. Look at the output:
    return value:
    the return value is null
    [code]
    Request:
    POST /HelloWorldEARBeanService/HelloWorldEARBean HTTP/1.0
    User-Agent: PEAR-SOAP 0.8.0RC4-devel
    Host: localhost
    Content-Type: text/xml; charset=UTF-8
    Content-Length: 438
    SOAPAction: ""
    <?xml version="1.0" encoding="UTF-8"?>
    <SOAP-ENV:Envelope  xmlns:SOAP-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:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/"
    >
    <SOAP-ENV:Body>
    <getReturn xmlns="http://beans/">
    <item>parameters</item>
    <item>Bob</item></getReturn>
    </SOAP-ENV:Body>
    </SOAP-ENV:Envelope>
    Response:
    HTTP/1.1 200 OK
    server: SAP NetWeaver Application Server 7.10 / AS Java 7.10
    content-type: text/xml; charset=utf-8
    date: Wed, 14 Feb 2007 15:51:53 GMT
    connection: close
    <?xml version="1.0" encoding="utf-8"?>
    <SOAP-ENV:Envelope xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
    <SOAP-ENV:Header><wsse:Security xmlns:wsse="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd">
    <wsu:Timestamp xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd">
    <wsu:Created>2007-02-14T15:51:53Z</wsu:Created>
    <wsu:Expires>2007-02-14T15:52:23Z</wsu:Expires></wsu:Timestamp></wsse:Security></SOAP-ENV:Header>
    <SOAP-ENV:Body><ns2:getReturnResponse xmlns:ns2='http://beans/'>
    <return>the return value is null</return></ns2:getReturnResponse></SOAP-ENV:Body></SOAP-ENV:Envelope>
    [/code]
    I used different soap interfaces for PHP like nusoap and the integrated soap interface of PHP 5.
    Further I experimented with different parameters inside the function call
    that results in small differencies at the xml-request.
    Thanks.

    Hi
    I've solved the problem now. I just have to add
    @SOAPBinding(style=SOAPBinding.Style.RPC)
    in the EJB, that's all.
    Here is the complete code, ... maybe some other guys have this problem too, so I will post the working code:
    At first the EJB:
    package beans;
    import javax.ejb.Stateless;
    import javax.jws.WebParam;
    import javax.jws.WebService;
    import javax.jws.WebMethod;
    import javax.jws.soap.SOAPBinding;
    import beans.HelloWorldEARBean;
    @WebService(name="HelloWorldEARBean",serviceName="HelloWorldEARBeanService",targetNamespace="http://beans/",portName="HelloWorldEARBeanPort")
    @SOAPBinding(style=SOAPBinding.Style.RPC)
    @Stateless public class HelloWorldEARBean {
         @WebMethod public String sayHello(@WebParam(name="testStr") String testStr){
                return "Hello Mr. "+testStr;
    2. the local XML:
    <wsdl:definitions xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" targetNamespace="http://beans/" xmlns:tns="http://beans/">
      <wsdl:types>
        <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" version="1.0" targetNamespace="http://beans/">
          <xs:element name="sayHello" type="tns:sayHello"/>
          <xs:element name="sayHelloResponse" type="tns:sayHelloResponse"/>
          <xs:complexType name="sayHello">
              <xs:element name="testStr" type="xs:string" minOccurs="0"/>
          </xs:complexType>
          <xs:complexType name="sayHelloResponse">
              <xs:element name="return" type="xs:string" minOccurs="0"/>
          </xs:complexType>
        </xs:schema>
      </wsdl:types>
      <wsdl:message name="sayHelloIn">
        <wsdl:part name="parameters" element="tns:sayHello"/>
      </wsdl:message>
      <wsdl:message name="sayHelloOut">
        <wsdl:part name="sayHelloResponse" element="tns:sayHelloResponse"/>
      </wsdl:message>
      <wsdl:portType name="HelloWorldEARBean">
        <wsdl:operation name="sayHello" parameterOrder="parameters">
          <wsdl:input message="tns:sayHelloIn"/>
          <wsdl:output message="tns:sayHelloOut"/>
        </wsdl:operation>
      </wsdl:portType>
      <wsdl:binding name="HelloWorldEARBeanBinding" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" type="tns:HelloWorldEARBean">
        <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
        <wsdl:operation name="sayHello">
          <soap:operation soapAction=""/>
          <wsdl:input>
            <soap:body parts="parameters" use="literal"/>
          </wsdl:input>
          <wsdl:output>
            <soap:body use="literal"/>
          </wsdl:output>
        </wsdl:operation>
      </wsdl:binding>
      <wsdl:service name="HelloWorldEARBeanService">
        <wsdl:port name="HelloWorldEARBeanPort" binding="tns:HelloWorldEARBeanBinding">
          <soap:address xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" location="http://localhost:50000/HelloWorldEARBeanService/HelloWorldEARBean"/>
        </wsdl:port>
      </wsdl:service>
    </wsdl:definitions>
    3. the PHP script:
    see next post
    Thank you very much for your help.

  • Web Service Proxy error: "No operation found using soap keys"

    I'm trying to use the new tools, and having a little trouble. Not many results when searching for this error message.
    I have developed and deployed a new Java web service proxy using the outside-in approach according to the [help docs|http://help.sap.com/saphelp_nwpi71/helpdata/EN/46/7f2fef88190ad3e10000000a11466f/frameset.htm] (PI 7.1 SP07, NWDS 7.1 CE SP09 PAT0000). Started with a Service interface in ESR, then generated a java bean skeleton into a new EJB project in NWDS, then wrote business logic and deployed.
    When I test the web service (with 3 different SOAP test clients) I get the same error, below:
         <faultstring>com.sap.engine.services.webservices.espbase.server.additions.exceptions.ProcessException:
    No operation found using soap keys [], [spmat_jdbc_receiver_proxy]. InterfaceMapping Object class:
    com.sap.engine.services.webservices.espbase.mappings.InterfaceMapping mappings: {BindingQName=
    {urn:nexeninc:pi:ll:spmat:100}SI_I_Sync_SPMAT_JDBC_Receiver_ProxyBinding, BindingType=Soap, PortTypeQName=
    {urn:nexeninc:pi:ll:spmat:100}SI_I_Sync_SPMAT_JDBC_Receiver_Proxy, JAXWSInterface=true, InterfaceMappingID=-
    27e4d529:127632b5c52:-7ebb}.</faultstring>
    My service endpoint interface looks like this (unimportant lines removed):
    package nexeninc.pi.ll.spmat._100;
    @javax.jws.WebService(name = "SI_I_Sync_SPMAT_JDBC_Receiver_Proxy", targetNamespace = "urn:nexeninc:pi:ll:spmat:100")
    @javax.jws.soap.SOAPBinding(parameterStyle = javax.jws.soap.SOAPBinding.ParameterStyle.BARE, style = javax.jws.soap.SOAPBinding.Style.DOCUMENT, use = javax.jws.soap.SOAPBinding.Use.LITERAL)
    public interface SIISyncSPMATJDBCReceiverProxy {
      @javax.jws.WebMethod(operationName = "SI_I_Sync_SPMAT_JDBC_Receiver_Proxy", action = "http://sap.com/xi/WebService/soap1.1")
      @javax.jws.WebResult(name = "spmat_jdbc_receiver_proxy_response", targetNamespace = "", partName = "spmat_jdbc_receiver_proxy_response")
      public generated.SpmatJdbcReceiverProxyResponse siISyncSPMATJDBCReceiverProxy(@javax.jws.WebParam(name = "spmat_jdbc_receiver_proxy", targetNamespace = "", partName = "spmat_jdbc_receiver_proxy") generated.SpmatJdbcReceiverProxy spmat_jdbc_receiver_proxy);

    (continued from above post)
    And my implementation bean looks like this (unimportant lines removed):
    package nexeninc.pi.ll.spmat._100;
    @SessionHandlingDT(enableSession = false)
    @AuthenticationDT(authenticationLevel = AuthenticationEnumsAuthenticationLevel.BASIC)
    @TransportGuaranteeDT(level = TransportGuaranteeEnumsLevel.NONE)
    @WebService(serviceName = "SI_I_Sync_SPMAT_JDBC_Receiver_Proxy_Service", portName
    = "SI_I_Sync_SPMAT_JDBC_Receiver_Proxy_Port", endpointInterface
    = "nexeninc.pi.ll.spmat._100.SIISyncSPMATJDBCReceiverProxy", targetNamespace = "urn:nexeninc:pi:ll:spmat:100", wsdlLocation
    = "META-
    INF/wsdl/nexeninc/pi/ll/spmat/_100/SI_I_Sync_SPMAT_JDBC_Receiver_Proxy/SI_I_Sync_SPMAT_JDBC_Receiver_Proxy.wsdl")
    @Stateless
    public class SIISyncSPMATJDBCReceiverProxyImplBean {
         @RelMessagingNW05DTOperation(enableWSRM = false)
         public generated.SpmatJdbcReceiverProxyResponse siISyncSPMATJDBCReceiverProxy(
                   generated.SpmatJdbcReceiverProxy spmat_jdbc_receiver_proxy) {
              System.out.println("Starting siISyncSPMATJDBCReceiverProxy.");
    When we first created the new endpoint in NWA, we tried asigning a new name for both "Service Endpoint Name" and "In New Service", and we received this error.
    We then deleted the endpoint and created another new one, setting "Service Endpoint Name" to match the portName in the implementation bean: "SI_I_Sync_SPMAT_JDBC_Receiver_Proxy_Port", but that didn't work either. The only option we enabled in the endpoint was HTTP authentication: User ID/Password.
    My ejb-j2ee-engine.xml and application-j2ee-engine.xml are both empty (but they exist).
    I am new to EJBs and JAX-WS so hopefully it's something simple. All help appreciated!
    Apologies for the long (and wide) post.
    - Rob

Maybe you are looking for

  • ITunes 11.1.3 Store crashes the program when I attempt to access it

    I posted this over a month ago and no one answered then, so I'll see if I can get some sort of advice now. I am currently running Windows 7 64bit, and realize I am running an older version of itunes, due to all the recent upgrade issues, including it

  • Problem connecting with USB Hard drive on Router since upgrade to Lion

    Over the past year we have been slowly getting set up to have a hard drive with our photos networked so we can access from all home computers. We have a CineRAID hard drive storage tower w/one 2TB Seagate HD (allows for 4 hard drives). We have collec

  • How to send/receive ByteArrayOutputStream

    Hello, all I am doing a project which use mobilephone to record a sound then send the sound to a server. Now i am finishing the recording by using Player and RecordControl. After that, i get a ByteArrayOutputStream. The code is as follow: ByteArrayOu

  • DB Adapter: Polling For New Records returns the First record multiple Times

    I Polling for New or Chnaged Records against DB2 on iSeries. The DB Adapter returns the first record from the Table multiple Times. If the Table has 5 records it displays the first record 5 times. I am using BPEL 10.1.3.1 Can anyone help me with this

  • Controlling hardware automatically via modbus control

    Hey guys, Im in a bit of a bind. Im looking to switch in my power supply via modbus control. I am using an ADAM-4068, so for instance if i switch the first relay the dc power supply will be on with a voltage level of say 230V, il the second relay swi