JAX-WS fault ?

Hello,
I tried implementing a simple web service from Weblogic docs (http://e-docs.bea.com/wls/docs103/webserv/use_cases.html#wp220705)
When I deploy this WS and test it using Weblogic 10.3's Test Client,
I get the following Request/response:
Service Request
<env:Envelope xmlns:env="http://schemas.xmlsoap.org/soap/envelope/">
<env:Header />
<env:Body>
<zip>95054</zip>
</env:Body>
</env:Envelope>
Service Response
<S:Envelope xmlns:S="http://schemas.xmlsoap.org/soap/envelope/">
<S:Body>
*<S:Fault xmlns:ns4="http://www.w3.org/2003/05/soap-envelope">*
*<faultcode>S:Client</faultcode>*
*<faultstring>Cannot find dispatch method for {}zip</faultstring>*
*</S:Fault>*
</S:Body>
</S:Envelope>
Can somebody please tell me what's going wrong here?
Thanks

Looks like the simple wsdl is not a good-formated wsdl, suggest to redefine the message elements as the following:
<types>
<xsd:schema
     xmlns="http://www.w3.org/2001/XMLSchema"
     targetNamespace="http://www.bea.com/wls103"
     elementFormDefault="qualified">
     <element name="zip" type="xsd:string"/>
     <element name="return" type="xsd:float"/>
</xsd:schema>
</types>
<message name="getTempRequest">
<part name="zip" element="tns:zip" />
</message>
<message name="getTempResponse">
<part name="return" element="tns:return" />
</message>
btw, the "type" option in jwsc and wsdlc tasks should keep same, namely, both "JAXRPC" or "JAXWS", the edoc has a little mistake on this too.

Similar Messages

  • Jax-ws reading fault saop messges - error parsing the xml source

    i have a class for reading soap messages including fault:
    class it.xx.SOAPListener.LoggingHandler, handleFault is the method like:
    public boolean handleFault(SOAPMessageContext c) {
    try {
    SOAPMessage msg = c.getMessage();
    msg.writeTo(System.out);
    } catch (SOAPException ex) {
    but c.getMessage throws an javax.xml.stream.XMLStreamException as you can see above.
    & # 28 is the char not understood properly by the parser (as ou can see above )
    this kind of fault soap message is a standard for the remote webservices i used and, i cant change it!
    the exception thrown don't write the soap message of response because the line msg.writeTo(output stream) is not executed
    so, how can i get the response without exception, how can formatting the message before exception can be thrown without change jax-ws library code??
    thank you
    exception is:
    javax.xml.ws.WebServiceException: javax.xml.soap.SOAPException: javax.xml.stream.XMLStreamException: ParseError at [row,col]:[1,2059]
    Message: Character reference "" is an invalid XML character.
    at com.sun.xml.ws.handler.SOAPMessageContextImpl.getMessage(SOAPMessageContextImpl.java:81)
    at it.xx.SOAPListener.LoggingHandler.handleFault(LoggingHandler.java:77)
    at it.xx.SOAPListener.LoggingHandler.handleFault(LoggingHandler.java:32)
    at com.sun.xml.ws.handler.HandlerProcessor.callHandleFault(HandlerProcessor.java:378)
    at com.sun.xml.ws.handler.HandlerProcessor.callHandlersResponse(HandlerProcessor.java:202)
    at com.sun.xml.ws.handler.ClientSOAPHandlerTube.callHandlersOnResponse(ClientSOAPHandlerTube.java:159)
    at com.sun.xml.ws.handler.HandlerTube.processResponse(HandlerTube.java:160)
    at com.sun.xml.ws.api.pipe.Fiber.__doRun(Fiber.java:605)
    at com.sun.xml.ws.api.pipe.Fiber._doRun(Fiber.java:554)
    at com.sun.xml.ws.api.pipe.Fiber.doRun(Fiber.java:539)
    at com.sun.xml.ws.api.pipe.Fiber.runSync(Fiber.java:436)
    at com.sun.xml.ws.client.Stub.process(Stub.java:248)
    at com.sun.xml.ws.client.sei.SEIStub.doProcess(SEIStub.java:135)
    at com.sun.xml.ws.client.sei.SyncMethodHandler.invoke(SyncMethodHandler.java:109)
    at com.sun.xml.ws.client.sei.SyncMethodHandler.invoke(SyncMethodHandler.java:89)
    at com.sun.xml.ws.client.sei.SEIStub.invoke(SEIStub.java:118)
    at $Proxy38.m01(Unknown Source)
    ecc...
    Edited by: robyp7 on Aug 25, 2009 2:07 AM
    Edited by: robyp7 on Aug 25, 2009 2:09 AM

    i have a class for reading soap messages including fault:
    class it.xx.SOAPListener.LoggingHandler, handleFault is the method like:
    public boolean handleFault(SOAPMessageContext c) {
    try {
    SOAPMessage msg = c.getMessage();
    msg.writeTo(System.out);
    } catch (SOAPException ex) {
    but c.getMessage throws an javax.xml.stream.XMLStreamException as you can see above.
    & # 28 is the char not understood properly by the parser (as ou can see above )
    this kind of fault soap message is a standard for the remote webservices i used and, i cant change it!
    the exception thrown don't write the soap message of response because the line msg.writeTo(output stream) is not executed
    so, how can i get the response without exception, how can formatting the message before exception can be thrown without change jax-ws library code??
    thank you
    exception is:
    javax.xml.ws.WebServiceException: javax.xml.soap.SOAPException: javax.xml.stream.XMLStreamException: ParseError at [row,col]:[1,2059]
    Message: Character reference "" is an invalid XML character.
    at com.sun.xml.ws.handler.SOAPMessageContextImpl.getMessage(SOAPMessageContextImpl.java:81)
    at it.xx.SOAPListener.LoggingHandler.handleFault(LoggingHandler.java:77)
    at it.xx.SOAPListener.LoggingHandler.handleFault(LoggingHandler.java:32)
    at com.sun.xml.ws.handler.HandlerProcessor.callHandleFault(HandlerProcessor.java:378)
    at com.sun.xml.ws.handler.HandlerProcessor.callHandlersResponse(HandlerProcessor.java:202)
    at com.sun.xml.ws.handler.ClientSOAPHandlerTube.callHandlersOnResponse(ClientSOAPHandlerTube.java:159)
    at com.sun.xml.ws.handler.HandlerTube.processResponse(HandlerTube.java:160)
    at com.sun.xml.ws.api.pipe.Fiber.__doRun(Fiber.java:605)
    at com.sun.xml.ws.api.pipe.Fiber._doRun(Fiber.java:554)
    at com.sun.xml.ws.api.pipe.Fiber.doRun(Fiber.java:539)
    at com.sun.xml.ws.api.pipe.Fiber.runSync(Fiber.java:436)
    at com.sun.xml.ws.client.Stub.process(Stub.java:248)
    at com.sun.xml.ws.client.sei.SEIStub.doProcess(SEIStub.java:135)
    at com.sun.xml.ws.client.sei.SyncMethodHandler.invoke(SyncMethodHandler.java:109)
    at com.sun.xml.ws.client.sei.SyncMethodHandler.invoke(SyncMethodHandler.java:89)
    at com.sun.xml.ws.client.sei.SEIStub.invoke(SEIStub.java:118)
    at $Proxy38.m01(Unknown Source)
    ecc...
    Edited by: robyp7 on Aug 25, 2009 2:07 AM
    Edited by: robyp7 on Aug 25, 2009 2:09 AM

  • Error in JAX-WS while report generation

    Hi all,
    I am using JAX-WS as a webservice client to generate the report. I tried generating the same through BI console directly and it got successfully generated.
    But when i try to generate it through the webservice client call in my code it gives following error :
    javax.xml.ws.soap.SOAPFaultException: oracle.apps.xdo.webservice.exception.OperationFailedException: PublicReportService::generateReport failed: due to oracle.apps.xdo.XDOIOException
         at com.sun.xml.internal.ws.fault.SOAP11Fault.getProtocolException(Unknown Source)
         at com.sun.xml.internal.ws.fault.SOAPFaultBuilder.createException(Unknown Source)
         at com.sun.xml.internal.ws.client.sei.SyncMethodHandler.invoke(Unknown Source)
         at com.sun.xml.internal.ws.client.sei.SyncMethodHandler.invoke(Unknown Source)
         at com.sun.xml.internal.ws.client.sei.SEIStub.invoke(Unknown Source)
         at $Proxy512.runReportInSession(Unknown Source)
    Kindly help..
    Thanks...

    The error was in the execution of OC4J embebbed. OC4J uses its own libraries for web services and xml.
    You can deploy an application with JAX-WS 2.0 if you add this java option:
    -Xbootclasspath/p:<dir_libs>\xml-apis.jar;<dir_libs>\xercesImpl.jar;<dir_libs>\xalan.jar;<dir_libs>\saaj.api.jar
    And the jars of JAX-WS are added as libraries to the application.
    With this solution you solve the problem: OC4J uses this libraries, not their owns, include the xml libraries.

  • Web Service error com.sun.xml.ws.fault.SOAPFaultBuilder.disableCaptureStack

    Hi,
    I have implemented a Java class which calls some XML RPC 3.0 proxy methods.
    If I test the method input inside a "main ()" method and get the output, it works nice.
    The XML RPC 3.0 procy method is also invoked and there is no problem.
    However, when I expose this java class as a "web service" and invoke the web service from the JDeveloper integrated console or
    even an external test client running on a browser, I get the error mentioned below.
    Which setting must be defined in the JDevelopper ( Studio Edition Version 11.1.1.2.0 on :
    set com.sun.xml.ws.fault.SOAPFaultBuilder.disableCaptureStackTrace system property to false"
    class="java.lang.NoClassDefFoundError"
    +++++++++ Integrated WebLogic server ( + Integrated WebLogic server started on port 7101) +++++++++
    [Running application AllCustomers on Server Instance IntegratedWebLogicServer...]
    [02:47:42 PM] ---- Deployment started. ----
    [02:47:42 PM] Target platform is (Weblogic 10.3).
    +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
    Thanks
    YL
    <S:Envelope xmlns:S="http://schemas.xmlsoap.org/soap/envelope/">
    <S:Body>
    <S:Fault xmlns:ns4="http://www.w3.org/2003/05/soap-envelope">
    <faultcode>S:Server</faultcode>
    <faultstring>org/opensource/proxy/OpenSourceApiXmlRpcProxy</faultstring>
    <detail>
    <ns2:exception xmlns:ns2="http://jax-ws.dev.java.net/" note="To disable this feature, set com.sun.xml.ws.fault.SOAPFaultBuilder.disableCaptureStackTrace system property to false" class="java.lang.NoClassDefFoundError">
    <message>org/opensource/proxy/OpenSourceApiXmlRpcProxy</message>
    <ns2:stackTrace>
    <ns2:frame line="246" file="GetAllCustomers.java" method="GetOneCustomerWithProxy" class="com.std.customer.GetAllCustomers" />
    <ns2:frame line="native" file="NativeMethodAccessorImpl.java" method="invoke0" class="sun.reflect.NativeMethodAccessorImpl" />
    <ns2:frame line="39" file="NativeMethodAccessorImpl.java" method="invoke" class="sun.reflect.NativeMethodAccessorImpl" />
    <ns2:frame line="25" file="DelegatingMethodAccessorImpl.java" method="invoke" class="sun.reflect.DelegatingMethodAccessorImpl" />
    <ns2:frame line="597" file="Method.java" method="invoke" class="java.lang.reflect.Method" />
    <ns2:frame line="101" file="WLSInstanceResolver.java" method="invoke" class="weblogic.wsee.jaxws.WLSInstanceResolver$WLSInvoker" />
    <ns2:frame line="83" file="WLSInstanceResolver.java" method="invoke" class="weblogic.wsee.jaxws.WLSInstanceResolver$WLSInvoker" />
    <ns2:frame line="152" file="InvokerTube.java" method="invoke" class="com.sun.xml.ws.server.InvokerTube$2" />
    <ns2:frame line="264" file="EndpointMethodHandler.java" method="invoke" class="com.sun.xml.ws.server.sei.EndpointMethodHandler" />
    <ns2:frame line="93" file="SEIInvokerTube.java" method="processRequest" class="com.sun.xml.ws.server.sei.SEIInvokerTube" />
    <ns2:frame line="604" file="Fiber.java" method="__doRun" class="com.sun.xml.ws.api.pipe.Fiber" />
    <ns2:frame line="563" file="Fiber.java" method="_doRun" class="com.sun.xml.ws.api.pipe.Fiber" />
    <ns2:frame line="548" file="Fiber.java" method="doRun" class="com.sun.xml.ws.api.pipe.Fiber" />
    <ns2:frame line="445" file="Fiber.java" method="runSync" class="com.sun.xml.ws.api.pipe.Fiber" />
    <ns2:frame line="275" file="WSEndpointImpl.java" method="process" class="com.sun.xml.ws.server.WSEndpointImpl$2" />
    <ns2:frame line="454" file="HttpAdapter.java" method="handle" class="com.sun.xml.ws.transport.http.HttpAdapter$HttpToolkit" />
    <ns2:frame line="250" file="HttpAdapter.java" method="handle" class="com.sun.xml.ws.transport.http.HttpAdapter" />
    <ns2:frame line="140" file="ServletAdapter.java" method="handle" class="com.sun.xml.ws.transport.http.servlet.ServletAdapter" />
    <ns2:frame line="319" file="HttpServletAdapter.java" method="run" class="weblogic.wsee.jaxws.HttpServletAdapter$AuthorizedInvoke" />
    <ns2:frame line="232" file="HttpServletAdapter.java" method="post" class="weblogic.wsee.jaxws.HttpServletAdapter" />
    <ns2:frame line="310" file="JAXWSServlet.java" method="doPost" class="weblogic.wsee.jaxws.JAXWSServlet" />
    <ns2:frame line="727" file="HttpServlet.java" method="service" class="javax.servlet.http.HttpServlet" />
    <ns2:frame line="87" file="JAXWSServlet.java" method="service" class="weblogic.wsee.jaxws.JAXWSServlet" />
    <ns2:frame line="820" file="HttpServlet.java" method="service" class="javax.servlet.http.HttpServlet" />
    <ns2:frame line="227" file="StubSecurityHelper.java" method="run" class="weblogic.servlet.internal.StubSecurityHelper$ServletServiceAction" />
    <ns2:frame line="125" file="StubSecurityHelper.java" method="invokeServlet" class="weblogic.servlet.internal.StubSecurityHelper" />
    <ns2:frame line="292" file="ServletStubImpl.java" method="execute" class="weblogic.servlet.internal.ServletStubImpl" />
    <ns2:frame line="26" file="TailFilter.java" method="doFilter" class="weblogic.servlet.internal.TailFilter" />
    <ns2:frame line="56" file="FilterChainImpl.java" method="doFilter" class="weblogic.servlet.internal.FilterChainImpl" />
    <ns2:frame line="326" file="DMSServletFilter.java" method="doFilter" class="oracle.dms.wls.DMSServletFilter" />
    <ns2:frame line="56" file="FilterChainImpl.java" method="doFilter" class="weblogic.servlet.internal.FilterChainImpl" />
    <ns2:frame line="3592" file="WebAppServletContext.java" method="run" class="weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction" />
    <ns2:frame line="321" file="AuthenticatedSubject.java" method="doAs" class="weblogic.security.acl.internal.AuthenticatedSubject" />
    <ns2:frame line="121" file="SecurityManager.java" method="runAs" class="weblogic.security.service.SecurityManager" />
    <ns2:frame line="2202" file="WebAppServletContext.java" method="securedExecute" class="weblogic.servlet.internal.WebAppServletContext" />
    <ns2:frame line="2108" file="WebAppServletContext.java" method="execute" class="weblogic.servlet.internal.WebAppServletContext" />
    <ns2:frame line="1432" file="ServletRequestImpl.java" method="run" class="weblogic.servlet.internal.ServletRequestImpl" />
    <ns2:frame line="201" file="ExecuteThread.java" method="execute" class="weblogic.work.ExecuteThread" />
    <ns2:frame line="173" file="ExecuteThread.java" method="run" class="weblogic.work.ExecuteThread" />
    </ns2:stackTrace>
    </ns2:exception>
    </detail>
    </S:Fault>
    </S:Body>
    </S:Envelope>

    Hello AYVR
    I found your post because I want to suppress the stack trace in my response of the web service. I put the -Dcom.sun.xml.ws.fault.SOAPFaultBuilder.disableCaptureStackTrace=false parameter in the setDomainEnv.cmd in the bin directory of my domain. Maybe this is also a solution for you.
    Cheers Chris
    Edited by: user8989253 on Aug 5, 2011 6:36 AM

  • Invalid Content-Type value on OC4J 10.1.3.4.0 when using JAX-WS

    Hi all,
    I'm developing web services using JAX-WS on top of OC4J 10.1.3.4.0. I followed the procedure to enable this in the developer guide with success. My web service is running fine but the headers of the HTTP response contains an invalid value for the Content-Type header
    The charset element has the value utf-8" (with the double quote included) which is interpreted as a wrong encoding by the client application.<br />
    Below is the HTTP request and response with the error. (I stripped the soap part for clarity)<br />
    <br />
    POST /mywebservice/ HTTP/1.1<br />
    Content-Type: text/xml;charset=UTF-8<br />
    SOAPAction: "http://soap.exemple.com/mywebservice"<br />
    User-Agent: Jakarta Commons-HttpClient/3.0.1<br />
    Host: behs0054:8888<br />
    Content-Length: 2174<br />
    <br />
    &lt;...&gt; soap message<br />
    <hr />
    HTTP/1.1 500 Internal Server Error<br />
    Date: Fri, 03 Oct 2008 13:10:43 GMT<br />
    Server: Oracle Containers for J2EE<br />
    Connection: Keep-Alive<br />
    Keep-Alive: timeout=15, max=100<br />
    Content-Type: text/xml;charset=<strong>utf-8"
    </strong>Transfer-Encoding: chunked
    &lt;...&gt; soap fault received
    <hr />
    Thanks a lot for your answers,
    Gauthier

    Does not only happen when using JAX-WS.
    the following servlet code is enough to reproduce the problem :
    protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
    response.setContentType("text/xml;charset=\"utf-8\"");
    It only occurs on 10.1.3.4.0 (works fine on 10.1.3.3.0 and 11.1.1.1.0 TP4)
    Regards

  • JAX-RPC And Non-Java Web Service

    Hi,
    This is a total shot in the dark. I'm attempting to consume an RPC web service developed in Delphi. I've created a JAX-RPC client in NetBeans from the published WSDL, attached below. I've created calls to several of the procedures available. What's bizarre, at least to me, is that half of them work fine and half of them don't. In all cases where they don't I'm getting a returns SOAP envelope indicated an access violation, attached below. There are no errors in any of the server logs and the developer assures me that the procedures do, in fact, work from his client (also developed conveniently enough in Delphi).
    I'm willing to take him at face value for the moment and assume that the problem is in my client implementation, although I have no idea where it would lie. The only difference I've been able to gather between the features which work and those that don't is the size of the return package...it would most likely be much larger than the ones that don't work.
    The service is an ISAPI dll running under IIS on Windows Server 2003. Any clues or guidance anyone would be willing to provide would be most welcome. On to the files:
    There wasn't enough room to post the entire thing so I've included one working (CheckStock) and non-working (GetLibTrace) function.
    WSDL:
    <?xml version="1.0" encoding="UTF-8"?>
    <definitions xmlns="http://schemas.xmlsoap.org/wsdl/" xmlns:xs="http://www.w3.org/2001/XMLSchema" name="IInnovaServiceservice" targetNamespace="http://tempuri.org/" xmlns:tns="http://tempuri.org/" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/" xmlns:mime="http://schemas.xmlsoap.org/wsdl/mime/">
      <message name="CheckStock2Request">
        <part name="OPC" type="xs:string"/>
      </message>
      <message name="CheckStock2Response">
        <part name="QTY" type="xs:int"/>
        <part name="messages" type="xs:string"/>
        <part name="return" type="xs:int"/>
      </message>
      <message name="GetLibTrace5Request">
        <part name="LibName" type="xs:string"/>
      </message>
      <message name="GetLibTrace5Response">
        <part name="dimensions" type="xs:string"/>
        <part name="messages" type="xs:string"/>
        <part name="return" type="xs:int"/>
      </message>
      <portType name="IInnovaService">
        <operation name="CheckStock">
          <input message="tns:CheckStock2Request"/>
          <output message="tns:CheckStock2Response"/>
        </operation>
        <operation name="GetLibTrace">
          <input message="tns:GetLibTrace5Request"/>
          <output message="tns:GetLibTrace5Response"/>
        </operation>
      </portType>
      <binding name="IInnovaServicebinding" type="tns:IInnovaService">
        <soap:binding style="rpc" transport="http://schemas.xmlsoap.org/soap/http"/>
        <operation name="CheckStock">
          <soap:operation soapAction="urn:InnovaServiceIntf-IInnovaService#CheckStock" style="rpc"/>
          <input>
            <soap:body use="encoded" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="urn:InnovaServiceIntf-IInnovaService"/>
          </input>
          <output>
            <soap:body use="encoded" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="urn:InnovaServiceIntf-IInnovaService"/>
          </output>
        </operation>
        <operation name="GetLibTrace">
          <soap:operation soapAction="urn:InnovaServiceIntf-IInnovaService#GetLibTrace" style="rpc"/>
          <input>
            <soap:body use="encoded" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="urn:InnovaServiceIntf-IInnovaService"/>
          </input>
          <output>
            <soap:body use="encoded" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="urn:InnovaServiceIntf-IInnovaService"/>
          </output>
        </operation>
      </binding>
      <service name="IInnovaServiceservice">
        <port name="IInnovaServicePort" binding="tns:IInnovaServicebinding">
          <soap:address location="http://172.20.10.145:8080/innovaservice.dll/soap/IInnovaService"/>
        </port>
      </service>
    </definitions>My client:
    package com.signet.innova.client;
    import com.signet.innova.client.interfaces.IInnovaService;
    import com.signet.innova.client.interfaces.IInnovaServiceservice_Impl;
    import java.net.URL;
    import java.rmi.RemoteException;
    import java.util.ArrayList;
    import javax.xml.namespace.QName;
    import javax.xml.rpc.Stub;
    import javax.xml.rpc.holders.Holder;
    import javax.xml.rpc.holders.IntHolder;
    import javax.xml.rpc.holders.StringHolder;
    import javax.xml.soap.MessageFactory;
    import javax.xml.soap.SOAPMessage;
    import javax.xml.ws.Dispatch;
    import javax.xml.ws.Service;
    public class InnovaClient {
        private void testConnection() {
            Stub stub = createProxy();
            IInnovaService service = (IInnovaService) stub;
            StringHolder sh1 = new StringHolder();
            StringHolder sh2 = new StringHolder();
            StringHolder sh3 = new StringHolder();
            IntHolder ih1 = new IntHolder();
            IntHolder ih2 = new IntHolder();
            IntHolder ih3 = new IntHolder();
            try {
                System.out.println("Calling checkStock()");
                service.checkStock("0103877866", ih1, sh1, ih2);
                System.out.println(" service returned => " + ih1.value + ":" + sh1.value + ":" + ih2.value);
            } catch (RemoteException re) {
                System.out.println(" service returned => " + re.toString());
            try {
                System.out.println("Calling getLibTrace()");
                service.getLibTrace("REGULAR", sh1, sh2, ih3);
                System.out.println(" service returned => " + sh1.value + ":" + sh2.value + ":" + ih1.value);
            } catch (RemoteException re) {
                System.out.println(" service returned => " + re.toString());
        private Stub createProxy() {
            return (Stub) (new IInnovaServiceservice_Impl().getIInnovaServicePort());
        public static void main(String[] args) {
            InnovaClient client = new InnovaClient();
            System.out.print("Running testConnection()...");
            client.testConnection();
    }The request and response packets are in my reply below. Ran out of characters. :o)
    Edited by: Pablo_Vadear on Dec 22, 2009 11:19 PM

    Correction from above...".it would most likely be much larger than the ones that don't work" should have been "it would most likely be much larger IN THE ONES THAT DON'T WORK". Sorry.
    The request:
    POST /innovaservice.dll/soap/IInnovaService HTTP/1.1
    Content-Type: text/xml; charset=utf-8
    Accept: text/xml, text/html, image/gif, image/jpeg, *; q=.2, */*; q=.2
    Content-Length: 484
    SOAPAction: "urn:InnovaServiceIntf-IInnovaService#CheckStock"
    User-Agent: Java/1.6.0_17
    Host: 172.20.10.145:8080
    Connection: keep-alive
    <?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:enc="http://schemas.xmlsoap.org/soap/encoding/" xmlns:ns0="urn:InnovaServiceIntf-IInnovaService" env:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><env:Body><ns0:CheckStock><OPC xsi:type="xsd:string">0103877866</OPC></ns0:CheckStock></env:Body></env:Envelope>POST /innovaservice.dll/soap/IInnovaService HTTP/1.1
    Content-Type: text/xml; charset=utf-8
    Accept: text/xml, text/html, image/gif, image/jpeg, *; q=.2, */*; q=.2
    Content-Length: 491
    SOAPAction: "urn:InnovaServiceIntf-IInnovaService#GetLibTrace"
    User-Agent: Java/1.6.0_17
    Host: localhost:8080
    Connection: keep-alive
    <?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:enc="http://schemas.xmlsoap.org/soap/encoding/" xmlns:ns0="urn:InnovaServiceIntf-IInnovaService" env:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><env:Body><ns0:GetLibTrace><LibName xsi:type="xsd:string">REGULAR</LibName></ns0:GetLibTrace></env:Body></env:Envelope>And the response:
    <?xml version="1.0"?>
    <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 SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><NS1:CheckStockResponse xmlns:NS1="urn:InnovaServiceIntf-IInnovaService"><return xsi:type="xsd:int">0</return><QTY xsi:type="xsd:int">0</QTY><messages xsi:type="xsd:string">Item 0103877866 retrieved OK.
    Right side OPC.
    </messages></NS1:CheckStockResponse></SOAP-ENV:Body></SOAP-ENV:Envelope>
    HTTP/1.1 200 OK
    Date: Tue, 22 Dec 2009 23:18:40 GMT
    Server: Microsoft-IIS/6.0
    Content-Type: text/xml
    Content-Length: 486
    <?xml version="1.0"?>
    <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><SOAP-ENV:Fault><faultactor/><faultcode>SOAP-ENV:Server</faultcode><faultstring>Access violation at address 00000000. Write of address 00000000</faultstring></SOAP-ENV:Fault></SOAP-ENV:Body></SOAP-ENV:Envelope>Any help appreciated.
    Edited by: Pablo_Vadear on Dec 22, 2009 11:23 PM

  • Weblogic 12c JAX-WS usernametoken policy authentication issue

    I created a simple JAX-WS webservice on weblogic12c. I added a cutom policy -a simple usernametoken policy.
    I added the policy to the webservice via the admin console. (inbound only)
    Testing from soapui, I was able to get a good response with correct username/password.
    If I dont pass the username/password , I get an Invalid security message.
    The issue is when I send in an incorrect username/and or password, I get following error:
    <env:Envelope xmlns:env="http://schemas.xmlsoap.org/soap/envelope/">
    <env:Body>
    <env:Fault>
    <faultcode>env:Server</faultcode>
    <faultstring>Unknown exception, internal system processing error.</faultstring>
    </env:Fault>
    </env:Body>
    </env:Envelope>
    Why is the correct reason not receved in teh soap message???
    On turning on debug log, I was able to see following message in the server log:
    ####<Mar 13, 2013 4:37:41 PM EDT> <Debug> <SecurityAtn> <NJCDTL02> <myServer1> <[ACTIVE] ExecuteThread: '0' for queue: 'weblogic.kernel.Default (self-tuning)'> <<WLS Kernel>> <> <> <1363207061361> <BEA-000000>
         at com.bea.common.security.internal.service.LoginModuleWrapper.login(LoginModuleWrapper.java:106)
         at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
         at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
         at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
         at java.lang.reflect.Method.invoke(Method.java:601)
         at javax.security.auth.login.LoginContext.invoke(LoginContext.java:784)
         at javax.security.auth.login.LoginContext.access$000(LoginContext.java:203)
         at javax.security.auth.login.LoginContext$4.run(LoginContext.java:698)
         at javax.security.auth.login.LoginContext$4.run(LoginContext.java:696)
         at java.security.AccessController.doPrivileged(Native Method)
         at javax.security.auth.login.LoginContext.invokePriv(LoginContext.java:695)
         at javax.security.auth.login.LoginContext.login(LoginContext.java:594)
         at com.bea.common.security.internal.service.JAASLoginServiceImpl.login(JAASLoginServiceImpl.java:113)
         at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
         at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
         at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
         at java.lang.reflect.Method.invoke(Method.java:601)
         at com.bea.common.security.internal.utils.Delegator$ProxyInvocationHandler.invoke(Delegator.java:57)
         at $Proxy16.login(Unknown Source)
         at weblogic.security.service.internal.WLSJAASLoginServiceImpl$ServiceImpl.login(WLSJAASLoginServiceImpl.java:89)
         at com.bea.common.security.internal.service.JAASAuthenticationServiceImpl.authenticate(JAASAuthenticationServiceImpl.java:82)
         at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
         at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
         at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
         at java.lang.reflect.Method.invoke(Method.java:601)
         at com.bea.common.security.internal.utils.Delegator$ProxyInvocationHandler.invoke(Delegator.java:57)
         at $Proxy34.authenticate(Unknown Source)
         at weblogic.security.service.WLSJAASAuthenticationServiceWrapper.authenticate(WLSJAASAuthenticationServiceWrapper.java:40)
         at weblogic.security.service.PrincipalAuthenticator.authenticate(PrincipalAuthenticator.java:338)
         at weblogic.security.service.PrincipalAuthenticator.authenticate(PrincipalAuthenticator.java:345)
         at weblogic.xml.crypto.wss.SecurityUtils.assertId(SecurityUtils.java:100)
         at weblogic.xml.crypto.wss.SecurityUtils.assertIdentity(SecurityUtils.java:72)
         at weblogic.xml.crypto.wss.UsernameTokenHandler.getSubject(UsernameTokenHandler.java:207)
         at weblogic.xml.crypto.wss.WSSecurityContext.getSubject(WSSecurityContext.java:656)
         at weblogic.xml.crypto.wss.WSSecurityContext.getSubject(WSSecurityContext.java:596)
         at weblogic.wsee.security.wssp.handlers.PostWssServerPolicyHandler.processRequest(PostWssServerPolicyHandler.java:56)
         at weblogic.wsee.security.wssp.handlers.WssHandler.handleRequest(WssHandler.java:112)
         at weblogic.wsee.jaxws.framework.jaxrpc.TubeFactory$JAXRPCTube.processRequest(TubeFactory.java:222)
         at com.sun.xml.ws.api.pipe.Fiber.__doRun(Fiber.java:892)
         at com.sun.xml.ws.api.pipe.Fiber._doRun(Fiber.java:841)
         at com.sun.xml.ws.api.pipe.Fiber.doRun(Fiber.java:804)
         at com.sun.xml.ws.api.pipe.Fiber.runSync(Fiber.java:706)
         at com.sun.xml.ws.server.WSEndpointImpl$2.process(WSEndpointImpl.java:430)
         at com.sun.xml.ws.transport.http.HttpAdapter$HttpToolkit.handle(HttpAdapter.java:640)
         at com.sun.xml.ws.transport.http.HttpAdapter.handle(HttpAdapter.java:265)
         at com.sun.xml.ws.transport.http.servlet.ServletAdapter.handle(ServletAdapter.java:163)
         at weblogic.wsee.jaxws.WLSServletAdapter.handle(WLSServletAdapter.java:171)
         at weblogic.wsee.jaxws.HttpServletAdapter$AuthorizedInvoke.run(HttpServletAdapter.java:708)
         at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:363)
         at weblogic.security.service.SecurityManager.runAs(SecurityManager.java:146)
         at weblogic.wsee.util.ServerSecurityHelper.authenticatedInvoke(ServerSecurityHelper.java:103)
         at weblogic.wsee.jaxws.HttpServletAdapter$3.run(HttpServletAdapter.java:311)
         at weblogic.wsee.jaxws.HttpServletAdapter.post(HttpServletAdapter.java:336)
         at weblogic.wsee.jaxws.JAXWSServlet.doRequest(JAXWSServlet.java:99)
         at weblogic.servlet.http.AbstractAsyncServlet.service(AbstractAsyncServlet.java:99)
         at javax.servlet.http.HttpServlet.service(HttpServlet.java:844)
         at weblogic.servlet.internal.StubSecurityHelper$ServletServiceAction.run(StubSecurityHelper.java:242)
         at weblogic.servlet.internal.StubSecurityHelper$ServletServiceAction.run(StubSecurityHelper.java:216)
         at weblogic.servlet.internal.StubSecurityHelper.invokeServlet(StubSecurityHelper.java:132)
         at weblogic.servlet.internal.ServletStubImpl.execute(ServletStubImpl.java:352)
         at weblogic.servlet.internal.ServletStubImpl.execute(ServletStubImpl.java:235)
         at weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.wrapRun(WebAppServletContext.java:3284)
         at weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.run(WebAppServletContext.java:3254)
         at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:321)
         at weblogic.security.service.SecurityManager.runAs(SecurityManager.java:120)
         at weblogic.servlet.provider.WlsSubjectHandle.run(WlsSubjectHandle.java:57)
         at weblogic.servlet.internal.WebAppServletContext.doSecuredExecute(WebAppServletContext.java:2163)
         at weblogic.servlet.internal.WebAppServletContext.securedExecute(WebAppServletContext.java:2089)
         at weblogic.servlet.internal.WebAppServletContext.execute(WebAppServletContext.java:2074)
         at weblogic.servlet.internal.ServletRequestImpl.run(ServletRequestImpl.java:1512)
         at weblogic.servlet.provider.ContainerSupportProviderImpl$WlsRequestExecutor.run(ContainerSupportProviderImpl.java:254)
         at weblogic.work.ExecuteThread.execute(ExecuteThread.java:256)
         at weblogic.work.ExecuteThread.run(ExecuteThread.java:221)
    >
    ####<Mar 13, 2013 4:37:41 PM EDT> <Debug> <SecurityAtn> <NJCDTL02> <myServer1> <[ACTIVE] ExecuteThread: '0' for queue: 'weblogic.kernel.Default (self-tuning)'> <<WLS Kernel>> <> <> <1363207061361> <BEA-000000> <com.bea.common.security.internal.service.LoginModuleWrapper.commit>
    ####<Mar 13, 2013 4:37:41 PM EDT> <Debug> <SecurityAtn> <NJCDTL02> <myServer1> <[ACTIVE] ExecuteThread: '0' for queue: 'weblogic.kernel.Default (self-tuning)'> <<WLS Kernel>> <> <> <1363207061361> <BEA-000000> <LDAP Atn Abort>
    ####<Mar 13, 2013 4:37:41 PM EDT> <Debug> <SecurityAtn> <NJCDTL02> <myServer1> <[ACTIVE] ExecuteThread: '0' for queue: 'weblogic.kernel.Default (self-tuning)'> <<WLS Kernel>> <> <> <1363207061361> <BEA-000000> <com.bea.common.security.internal.service.LoginModuleWrapper.commit delegated, returning false>
    ####<Mar 13, 2013 4:37:41 PM EDT> <Debug> <SecurityAtn> <NJCDTL02> <myServer1> <[ACTIVE] ExecuteThread: '0' for queue: 'weblogic.kernel.Default (self-tuning)'> <<WLS Kernel>> <> <> <1363207061361> <BEA-000000> <weblogic.security.service.internal.WLSJAASLoginServiceImpl$ServiceImpl.authenticate authenticate failed for user test1234>

    Hi René ,
    i just use plain HTTP, not HTTPS.
    seems don't involve any certificate, am i right?
    in J2SE environment, i can run the webservice client without problem.
    but once i run the client in weblogic, the problem mentioned occurred.
    if i manually delete the ws-policy related tag in the wsdl file (i download it to local filesystem for testing), the client can run in weblogic too.
    so, think there is some setting in weblogic that try to handle the ws-policy by its so-called 'credential provider'(e.g. ClientUNTCredentialProvider ?)
    thank you.

  • JAX-WS proxy and WS-ReliableMessaging

    Hello all,
    JDeveloper 11.1.2.3
    I've started the foray into looking at reliable web services as specified by WS-ReliableMessaging. I have a very simple Hello World web service deployed (it was written in C# and deployed on IIS, if you have to ask :P). In JDeveloper, I've generated a JAX-WS Style proxy and test class using the JDeveloper wizard to do so. I've specified that no Async methods be generated and that there are no client OWSM policies (none are deemed compatible with the web service anyway).
    I then add a bit of code to my test class and run to test. The first time I run the class, the WS calls work successfully, although after the sequence of calls, I get an exception displayed in the console (see below). If I try to run the class again, the web service calls don't even execute and I get a different exception in the console (again, see below - at least part of this error is captured by my ReliabilityErrorListener). This sequence of events alternates ad-infinitum (odd-numbered attempts work with an exception, even-numbered attempts don't work.
    I show my test code here:
          // Add your code to call the desired methods.
        WsrmClientInitFeature f = new WsrmClientInitFeature(true);
        ReliabilityErrorListener listener = new ReliabilityErrorListener()
          public void onReliabilityError(ReliabilityErrorContext context)
            // At a *minimum* do this
            System.out.println("RM sequence failure: " + context.getFaultSummaryMessage());
            // And optionally do this...
            // The context parameter tells you whether a request or the entire
            // sequence has failed. If a sequence fails, you'll get a notification
            // for each undelivered request (if any) on the sequence.
            if (context.isRequestSpecific())
              // We have a single request failure (possibly as part of a larger
              // sequence failure).
              // We can get the original request back like this:
              String operationName = context.getOperationName();
              System.out.println("Failed to deliver request for operation '" + operationName + "'. Fault summary: " +
                                 context.getFaultSummaryMessage());
            else
              // The entire sequence has encountered an error.
              System.out.println("Entire sequence failed: " + context.getFaultSummaryMessage());
        f.setErrorListener(listener);
        hello = helloService.getWSHttpBindingHello(f);
        WsrmClient c = WsrmClientFactory.getWsrmClientFromPort(hello);
        System.out.println("Sequence ID is " + c.getSequenceId());
        //   c.reset();
        System.out.println(hello.getGreeting("John"));
        System.out.println(hello.getGreeting("Fred"));
        System.out.println(hello.getGreeting("Josephine"));
        System.out.println("Sequence ID is " + c.getSequenceId());
        try
          System.out.println(c.getAckRanges().first().lowerBounds);
          System.out.println(c.getAckRanges().first().upperBounds);
        catch (Exception e)
        // c.setFinalMessage();The calls that work look like this in the console:
    Sequence ID is null
    <05-Mar-2013 14:55:53 o'clock EAT> <Info> <Store> <BEA-280008> <Opening the persistent file store "weblogic.wsee.persistence.WseeFileStore" for recovery: directory=C:\JDeveloper\11.1.2.3\mywork\WSReliableClientPOC\Client requestedWritePolicy="Cache-Flush" fileLockingEnabled=true driver="NIO".>
    <05-Mar-2013 14:55:53 o'clock EAT> <Info> <Store> <BEA-280009> <The persistent file store "weblogic.wsee.persistence.WseeFileStore" (569ea4fb-b0fd-4906-bb74-003b6885b1d5) has been opened: blockSize=512 actualWritePolicy="Cache-Flush(single-handle-non-direct)" explicitIOEnforced=false records=57.>
    Hello, John. You have just communicated with me using WS-reliablemessaging
    Hello, Fred. You have just communicated with me using WS-reliablemessaging
    Hello, Josephine. You have just communicated with me using WS-reliablemessaging
    Sequence ID is uuid:WLS1:WseeFileStore:3f3d2d8955322f32:-94bc5:13d3a6864db:-7ffd
    1
    3
    <05-Mar-2013 14:56:03 o'clock EAT> <Error> <WseeRm> <BEA-224016> <An unexpected error occurred: weblogic.wsee.sender.api.ConversationNotFoundException: [WseeSender:221102]The conversation with the given name (uuid:WLS1:WseeFileStore:3f3d2d8955322f32:-156fc54b:13d3a5dab50:-7ffd) could not be found.
    weblogic.wsee.sender.api.ConversationNotFoundException: [WseeSender:221102]The conversation with the given name (uuid:WLS1:WseeFileStore:3f3d2d8955322f32:-156fc54b:13d3a5dab50:-7ffd) could not be found.
         at weblogic.wsee.sender.DefaultProvider.DefaultSendingServiceProvider.getConversation(DefaultSendingServiceProvider.java:222)
         at weblogic.wsee.sender.DefaultProvider.DefaultSendingServiceProvider.stopConversation(DefaultSendingServiceProvider.java:287)
         at weblogic.wsee.reliability2.store.SourceSequenceMap.shutdownSequence(SourceSequenceMap.java:257)
         at weblogic.wsee.reliability2.store.SourceSequenceMap.shutdownSequence(SourceSequenceMap.java:30)
         at weblogic.wsee.reliability2.store.SequenceStore.removePhysicalStore(SequenceStore.java:109)
         at weblogic.wsee.persistence.LogicalStore.close(LogicalStore.java:955)
         at weblogic.wsee.persistence.LogicalStore.closeLogicalStores(LogicalStore.java:402)
         at weblogic.wsee.persistence.LogicalStore.closeStore(LogicalStore.java:384)
         at weblogic.wsee.persistence.LogicalStore.closeAllStores(LogicalStore.java:365)
         at weblogic.wsee.persistence.LogicalStore$1.run(LogicalStore.java:164)
    >
    <05-Mar-2013 14:56:03 o'clock EAT> <Error> <WseePersist> <BEA-221000> <An unexpected error occurred: java.lang.IllegalStateException: Attempt to remove listener from weblogic.wsee.reliability2.sequence.SourceSequence@6ac27081 - uuid:WLS1:WseeFileStore:3f3d2d8955322f32:-156fc54b:13d3a5dab50:-7ffd when it is not the master instance
    java.lang.IllegalStateException: Attempt to remove listener from weblogic.wsee.reliability2.sequence.SourceSequence@6ac27081 - uuid:WLS1:WseeFileStore:3f3d2d8955322f32:-156fc54b:13d3a5dab50:-7ffd when it is not the master instance
         at weblogic.wsee.reliability2.sequence.Sequence.removePropertyChangeListener(Sequence.java:1250)
         at weblogic.wsee.reliability2.store.SequenceMap.shutdownSequence(SequenceMap.java:558)
         at weblogic.wsee.reliability2.store.TimedSequenceMap.shutdownSequence(TimedSequenceMap.java:182)
         at weblogic.wsee.reliability2.store.SourceSequenceMap.shutdownSequence(SourceSequenceMap.java:274)
         at weblogic.wsee.reliability2.store.SourceSequenceMap.shutdownSequence(SourceSequenceMap.java:30)
         at weblogic.wsee.reliability2.store.SequenceStore.removePhysicalStore(SequenceStore.java:109)
         at weblogic.wsee.persistence.LogicalStore.close(LogicalStore.java:955)
         at weblogic.wsee.persistence.LogicalStore.closeLogicalStores(LogicalStore.java:402)
         at weblogic.wsee.persistence.LogicalStore.closeStore(LogicalStore.java:384)
         at weblogic.wsee.persistence.LogicalStore.closeAllStores(LogicalStore.java:365)
         at weblogic.wsee.persistence.LogicalStore$1.run(LogicalStore.java:164)
    >
    Process exited with exit code 0.The calls that don't work look like this:
    Sequence ID is null
    <05-Mar-2013 14:57:49 o'clock EAT> <Info> <Store> <BEA-280008> <Opening the persistent file store "weblogic.wsee.persistence.WseeFileStore" for recovery: directory=C:\JDeveloper\11.1.2.3\mywork\WSReliableClientPOC\Client requestedWritePolicy="Cache-Flush" fileLockingEnabled=true driver="NIO".>
    <05-Mar-2013 14:57:49 o'clock EAT> <Info> <Store> <BEA-280009> <The persistent file store "weblogic.wsee.persistence.WseeFileStore" (569ea4fb-b0fd-4906-bb74-003b6885b1d5) has been opened: blockSize=512 actualWritePolicy="Cache-Flush(single-handle-non-direct)" explicitIOEnforced=false records=59.>
    RM sequence failure:
    weblogic.wsee.sender.api.PermanentSendException: javax.xml.ws.WebServiceException: SequenceFaultException: The value of wsrm:Identifier is not a known Sequence identifier.: uuid:WLS1:WseeFileStore:3f3d2d8955322f32:-94bc5:13d3a6864db:-7ffe
    Failed to deliver request for operation 'GetGreeting'. Fault summary:
    weblogic.wsee.sender.api.PermanentSendException: javax.xml.ws.WebServiceException: SequenceFaultException: The value of wsrm:Identifier is not a known Sequence identifier.: uuid:WLS1:WseeFileStore:3f3d2d8955322f32:-94bc5:13d3a6864db:-7ffe
    Exception in thread "main" java.lang.AssertionError: weblogic.wsee.sender.api.PermanentSendException: javax.xml.ws.WebServiceException: SequenceFaultException: The value of wsrm:Identifier is not a known Sequence identifier.: uuid:WLS1:WseeFileStore:3f3d2d8955322f32:-94bc5:13d3a6864db:-7ffe
         at com.sun.xml.ws.api.pipe.Fiber.runSync(Fiber.java:689)
         at com.sun.xml.ws.client.Stub.process(Stub.java:272)
         at com.sun.xml.ws.client.sei.SEIStub.doProcess(SEIStub.java:153)
         at com.sun.xml.ws.client.sei.SyncMethodHandler.invoke(SyncMethodHandler.java:115)
         at com.sun.xml.ws.client.sei.SyncMethodHandler.invoke(SyncMethodHandler.java:95)
         at com.sun.xml.ws.client.sei.SEIStub.invoke(SEIStub.java:136)
         at $Proxy36.getGreeting(Unknown Source)
         at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
         at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
         at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
         at java.lang.reflect.Method.invoke(Method.java:597)
         at weblogic.wsee.jaxws.spi.ClientInstanceInvocationHandler.invoke(ClientInstanceInvocationHandler.java:84)
         at $Proxy35.getGreeting(Unknown Source)
         at org.tempuri.WSHttpBinding_HelloClient.main(WSHttpBinding_HelloClient.java:96)
    Caused by: weblogic.wsee.sender.api.PermanentSendException: javax.xml.ws.WebServiceException: SequenceFaultException: The value of wsrm:Identifier is not a known Sequence identifier.: uuid:WLS1:WseeFileStore:3f3d2d8955322f32:-94bc5:13d3a6864db:-7ffe
         at weblogic.wsee.reliability2.store.SourceSequenceSender.checkForPermanentSendFailure(SourceSequenceSender.java:549)
         at weblogic.wsee.reliability2.store.SourceSequenceSender.handleFailureForSuspendedFiber(SourceSequenceSender.java:604)
         at weblogic.wsee.reliability2.store.SourceSequenceSender.sendRequestAndHandleResponseForSuspendedFiber(SourceSequenceSender.java:452)
         at weblogic.wsee.reliability2.store.SourceSequenceSender.sendRequestAndHandleResponse(SourceSequenceSender.java:293)
         at weblogic.wsee.reliability2.store.SourceSequenceSender.send(SourceSequenceSender.java:184)
         at weblogic.wsee.sender.DefaultProvider.Conversation.sendOneRequest(Conversation.java:671)
         at weblogic.wsee.sender.DefaultProvider.Conversation.sendPendingRequests(Conversation.java:579)
         at weblogic.wsee.sender.DefaultProvider.Conversation.access$1400(Conversation.java:44)
         at weblogic.wsee.sender.DefaultProvider.Conversation$2.timerExpired(Conversation.java:476)
         at weblogic.timers.internal.TimerImpl.run(TimerImpl.java:273)
         at weblogic.work.ExecuteRequestAdapter.execute(ExecuteRequestAdapter.java:21)
         at weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:145)
         at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:117)
    Caused by: javax.xml.ws.WebServiceException: SequenceFaultException: The value of wsrm:Identifier is not a known Sequence identifier.: uuid:WLS1:WseeFileStore:3f3d2d8955322f32:-94bc5:13d3a6864db:-7ffe
         at com.sun.xml.ws.client.dispatch.DispatchImpl.doInvoke(DispatchImpl.java:258)
         at com.sun.xml.ws.client.dispatch.DispatchImpl.invoke(DispatchImpl.java:273)
         at weblogic.wsee.reliability2.store.SourceSequenceSender.sendRequestAndHandleResponseForSuspendedFiber(SourceSequenceSender.java:442)
         ... 10 more
    Caused by: SequenceFaultException: The value of wsrm:Identifier is not a known Sequence identifier.: uuid:WLS1:WseeFileStore:3f3d2d8955322f32:-94bc5:13d3a6864db:-7ffe
         at weblogic.wsee.reliability2.tube.WsrmTubelineDeploymentListener$WsrmClientProtocolTube.processResponse(WsrmTubelineDeploymentListener.java:222)
         at com.sun.xml.ws.api.pipe.Fiber.__doRun(Fiber.java:877)
         at com.sun.xml.ws.api.pipe.Fiber._doRun(Fiber.java:815)
         at com.sun.xml.ws.api.pipe.Fiber.doRun(Fiber.java:778)
         at com.sun.xml.ws.api.pipe.Fiber.runSync(Fiber.java:680)
         at com.sun.xml.ws.client.Stub.process(Stub.java:272)
         at com.sun.xml.ws.client.dispatch.DispatchImpl.doInvoke(DispatchImpl.java:238)
         ... 12 more
    <05-Mar-2013 14:57:58 o'clock EAT> <Error> <WseeRm> <BEA-224016> <An unexpected error occurred: weblogic.wsee.sender.api.ConversationNotFoundException: [WseeSender:221102]The conversation with the given name (uuid:WLS1:WseeFileStore:3f3d2d8955322f32:-156fc54b:13d3a5dab50:-7ffd) could not be found.
    weblogic.wsee.sender.api.ConversationNotFoundException: [WseeSender:221102]The conversation with the given name (uuid:WLS1:WseeFileStore:3f3d2d8955322f32:-156fc54b:13d3a5dab50:-7ffd) could not be found.
         at weblogic.wsee.sender.DefaultProvider.DefaultSendingServiceProvider.getConversation(DefaultSendingServiceProvider.java:222)
         at weblogic.wsee.sender.DefaultProvider.DefaultSendingServiceProvider.stopConversation(DefaultSendingServiceProvider.java:287)
         at weblogic.wsee.reliability2.store.SourceSequenceMap.shutdownSequence(SourceSequenceMap.java:257)
         at weblogic.wsee.reliability2.store.SourceSequenceMap.shutdownSequence(SourceSequenceMap.java:30)
         at weblogic.wsee.reliability2.store.SequenceStore.removePhysicalStore(SequenceStore.java:109)
         at weblogic.wsee.persistence.LogicalStore.close(LogicalStore.java:955)
         at weblogic.wsee.persistence.LogicalStore.closeLogicalStores(LogicalStore.java:402)
         at weblogic.wsee.persistence.LogicalStore.closeStore(LogicalStore.java:384)
         at weblogic.wsee.persistence.LogicalStore.closeAllStores(LogicalStore.java:365)
         at weblogic.wsee.persistence.LogicalStore$1.run(LogicalStore.java:164)
    >
    <05-Mar-2013 14:57:58 o'clock EAT> <Error> <WseePersist> <BEA-221000> <An unexpected error occurred: java.lang.IllegalStateException: Attempt to remove listener from weblogic.wsee.reliability2.sequence.SourceSequence@79424b7b - uuid:WLS1:WseeFileStore:3f3d2d8955322f32:-156fc54b:13d3a5dab50:-7ffd when it is not the master instance
    java.lang.IllegalStateException: Attempt to remove listener from weblogic.wsee.reliability2.sequence.SourceSequence@79424b7b - uuid:WLS1:WseeFileStore:3f3d2d8955322f32:-156fc54b:13d3a5dab50:-7ffd when it is not the master instance
         at weblogic.wsee.reliability2.sequence.Sequence.removePropertyChangeListener(Sequence.java:1250)
         at weblogic.wsee.reliability2.store.SequenceMap.shutdownSequence(SequenceMap.java:558)
         at weblogic.wsee.reliability2.store.TimedSequenceMap.shutdownSequence(TimedSequenceMap.java:182)
         at weblogic.wsee.reliability2.store.SourceSequenceMap.shutdownSequence(SourceSequenceMap.java:274)
         at weblogic.wsee.reliability2.store.SourceSequenceMap.shutdownSequence(SourceSequenceMap.java:30)
         at weblogic.wsee.reliability2.store.SequenceStore.removePhysicalStore(SequenceStore.java:109)
         at weblogic.wsee.persistence.LogicalStore.close(LogicalStore.java:955)
         at weblogic.wsee.persistence.LogicalStore.closeLogicalStores(LogicalStore.java:402)
         at weblogic.wsee.persistence.LogicalStore.closeStore(LogicalStore.java:384)
         at weblogic.wsee.persistence.LogicalStore.closeAllStores(LogicalStore.java:365)
         at weblogic.wsee.persistence.LogicalStore$1.run(LogicalStore.java:164)
    >
    Process exited with exit code 1.Does anyone have any insight about this behaviour?
    Thanks,
    John

    Some additional information for the second case. Using HTTP analyzer in JDeveloper, I can see 2 HTTP POSTs going to the web service. The first one is to initiate the WS-RM sequence and shows an offered conversation identifier and the reply shows that the server has given its own identifier instead of the offered one:
    request:
    POST http://xgis-lel-05717.ad.xglobal.com:80/WSReliablePOC/HelloService.svc HTTP/1.1
    Proxy-Authorization:
    Content-type: application/soap+xml;charset="utf-8";action="http://schemas.xmlsoap.org/ws/2005/02/rm/CreateSequence"
    Accept: application/soap+xml, multipart/related, text/html, image/gif, image/jpeg, *; q=.2, */*; q=.2
    User-Agent: Oracle JAX-WS 2.1.5
    Host: xgis-lel-05717.ad.xglobal.com
    Proxy-Connection: Keep-Alive
    Content-Length: 1620
    X-HTTPAnalyzer-Rules: 1@localhost:8099
    <?xml version="1.0" encoding="UTF-8"?>
    <env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope">
        <env:Header>
            <wsa:Action xmlns:wsa="http://www.w3.org/2005/08/addressing" env:mustUnderstand="true">http://schemas.xmlsoap.org/ws/2005/02/rm/CreateSequence</wsa:Action>
            <wsa:MessageID xmlns:wsa="http://www.w3.org/2005/08/addressing">uuid:WLS1:WseeFileStore:3f3d2d8955322f32:201221c6:13d3a75f768:-7ffb</wsa:MessageID>
            <wsa:To xmlns:wsa="http://www.w3.org/2005/08/addressing">http://xgis-lel-05717.ad.xglobal.com/WSReliablePOC/HelloService.svc</wsa:To>
            <ReplyTo xmlns="http://www.w3.org/2005/08/addressing">
                <Address>http://www.w3.org/2005/08/addressing/anonymous</Address>
            </ReplyTo>
            <FaultTo xmlns="http://www.w3.org/2005/08/addressing">
                <Address>http://www.w3.org/2005/08/addressing/anonymous</Address>
            </FaultTo>
        </env:Header>
        <env:Body xmlns:wsrm="http://schemas.xmlsoap.org/ws/2005/02/rm">
            <wsrm:CreateSequence>
                <wsrm:AcksTo xmlns:wsa="http://www.w3.org/2005/08/addressing">
                    <wsa:Address>http://www.w3.org/2005/08/addressing/anonymous</wsa:Address>
                    <wsa:ReferenceParameters xmlns:clspi="http://www.oracle.com/wsee/jaxws/cluster/spi">
                        <clspi:PhysicalStoreName
                            xmlns:wsa="http://www.w3.org/2005/08/addressing"
                            xmlns:wsu="http://schemas.xmlsoap.org/ws/2002/07/utility" wsa:IsReferenceParameter="true">WseeFileStore</clspi:PhysicalStoreName>
                    </wsa:ReferenceParameters>
                </wsrm:AcksTo>
                <wsrm:Expires>P1D</wsrm:Expires>
                <wsrm:Offer>
                    <wsrm:Identifier>uuid:WLS1:WseeFileStore:3f3d2d8955322f32:201221c6:13d3a75f768:-7ffe</wsrm:Identifier>
                    <wsrm:Expires>P1D</wsrm:Expires>
                </wsrm:Offer>
            </wsrm:CreateSequence>
        </env:Body>
    </env:Envelope>
    reply:
    HTTP/1.1 200 OK
    Content-Type: application/soap+xml; charset=utf-8
    Cache-Control: private
    X-Powered-By: ASP.NET
    X-AspNet-Version: 4.0.30319
    Content-Length: 673
    Server: Microsoft-IIS/7.5
    Date: Tue, 05 Mar 2013 12:10:44 GMT
    X-HTTPAnalyzer-RuleName: Pass through :
    <?xml version="1.0" encoding="UTF-8"?>
    <s:Envelope xmlns:s="http://www.w3.org/2003/05/soap-envelope" xmlns:a="http://www.w3.org/2005/08/addressing">
        <s:Header>
            <a:Action s:mustUnderstand="1">http://schemas.xmlsoap.org/ws/2005/02/rm/CreateSequenceResponse</a:Action>
            <a:RelatesTo>uuid:WLS1:WseeFileStore:3f3d2d8955322f32:201221c6:13d3a75f768:-7ffb</a:RelatesTo>
        </s:Header>
        <s:Body>
            <CreateSequenceResponse xmlns="http://schemas.xmlsoap.org/ws/2005/02/rm">
                <Identifier>urn:uuid:b6886ed1-6cf2-40a4-99a3-f17cc5a295d7</Identifier>
                <Expires>P1D</Expires>
                <Accept>
                    <AcksTo>
                        <a:Address>http://xgis-lel-05717.ad.xglobal.com/WSReliablePOC/HelloService.svc</a:Address>
                    </AcksTo>
                </Accept>
            </CreateSequenceResponse>
        </s:Body>
    </s:Envelope>The second POST shows the JDeveloper proxy calling the web service and sending a wsrm:Identifier value that the one originally offered by JDeveloper (see the sequence acknowledgement), not the one the server advised to use:
    request:
    POST http://xgis-lel-05717.ad.xglobal.com:80/WSReliablePOC/HelloService.svc HTTP/1.1
    Proxy-Authorization:
    Content-type: application/soap+xml;charset="utf-8";action="http://tempuri.org/Hello/GetGreeting"
    Accept: application/soap+xml, multipart/related, text/html, image/gif, image/jpeg, *; q=.2, */*; q=.2
    User-Agent: Oracle JAX-WS 2.1.5
    Host: xgis-lel-05717.ad.xglobal.com
    Proxy-Connection: Keep-Alive
    Content-Length: 1444
    X-HTTPAnalyzer-Rules: 1@localhost:8099
    <?xml version="1.0" encoding="UTF-8"?>
    <S:Envelope xmlns:S="http://www.w3.org/2003/05/soap-envelope">
        <S:Header>
            <wsa:To xmlns:wsa="http://www.w3.org/2005/08/addressing">http://xgis-lel-05717.ad.xglobal.com/WSReliablePOC/HelloService.svc</wsa:To>
            <wsa:Action xmlns:wsa="http://www.w3.org/2005/08/addressing">http://tempuri.org/Hello/GetGreeting</wsa:Action>
            <ReplyTo xmlns="http://www.w3.org/2005/08/addressing">
                <Address>http://www.w3.org/2005/08/addressing/anonymous</Address>
            </ReplyTo>
            <FaultTo xmlns="http://www.w3.org/2005/08/addressing">
                <Address>http://www.w3.org/2005/08/addressing/anonymous</Address>
            </FaultTo>
            <wsa:MessageID xmlns:wsa="http://www.w3.org/2005/08/addressing">uuid:WLS1:WseeFileStore:3f3d2d8955322f32:201221c6:13d3a75f768:-7ffc</wsa:MessageID>
            <wsrm:SequenceAcknowledgement xmlns:wsrm="http://schemas.xmlsoap.org/ws/2005/02/rm">
                <wsrm:Identifier>uuid:WLS1:WseeFileStore:3f3d2d8955322f32:-725c9c83:13d3a75543c:-7ffe</wsrm:Identifier>
                <wsrm:AcknowledgementRange Lower="1" Upper="3"/>
            </wsrm:SequenceAcknowledgement>
            <wsrm:Sequence
                xmlns:wsrm="http://schemas.xmlsoap.org/ws/2005/02/rm" S:mustUnderstand="true">
                <wsrm:Identifier>urn:uuid:b6886ed1-6cf2-40a4-99a3-f17cc5a295d7</wsrm:Identifier>
                <wsrm:MessageNumber>1</wsrm:MessageNumber>
            </wsrm:Sequence>
        </S:Header>
        <S:Body>
            <GetGreeting
                xmlns:ns2="http://schemas.microsoft.com/2003/10/Serialization/" xmlns="http://tempuri.org/">
                <name>John</name>
            </GetGreeting>
        </S:Body>
    </S:Envelope>
    response:
    HTTP/1.1 500 Internal Server Error
    Content-Type: application/soap+xml; charset=utf-8
    Cache-Control: private
    X-Powered-By: ASP.NET
    X-AspNet-Version: 4.0.30319
    Content-Length: 710
    Server: Microsoft-IIS/7.5
    Date: Tue, 05 Mar 2013 12:10:52 GMT
    X-HTTPAnalyzer-RuleName: Pass through :
    <?xml version="1.0" encoding="UTF-8"?>
    <s:Envelope xmlns:s="http://www.w3.org/2003/05/soap-envelope" xmlns:a="http://www.w3.org/2005/08/addressing">
        <s:Header>
            <a:Action s:mustUnderstand="1">http://www.w3.org/2005/08/addressing/soap/fault</a:Action>
        </s:Header>
        <s:Body>
            <s:Fault>
                <s:Code>
                    <s:Value>s:Sender</s:Value>
                    <s:Subcode>
                        <s:Value xmlns:a="http://schemas.xmlsoap.org/ws/2005/02/rm">a:UnknownSequence</s:Value>
                    </s:Subcode>
                </s:Code>
                <s:Reason>
                    <s:Text xml:lang="en-GB">The value of wsrm:Identifier is not a known Sequence identifier.</s:Text>
                </s:Reason>
                <s:Detail>
                    <r:Identifier xmlns:r="http://schemas.xmlsoap.org/ws/2005/02/rm">uuid:WLS1:WseeFileStore:3f3d2d8955322f32:-725c9c83:13d3a75543c:-7ffe</r:Identifier>
                </s:Detail>
            </s:Fault>
        </s:Body>
    </s:Envelope>This seems to be an issue in the JDev-generated Proxy (still need to find out why it happens "every other time" and not "every time." The time it works, JDeveloper is sending the Identifier returned by the service. The time it works, however - you can also see that the "conversation not found" exception is referring to the original "offered" identifier and not the one that was used in the conversation. I'm now starting to suspect that the proxy generation for WS-RM may be a bit buggy. Anyone else with experience in this area?
    A quick look at support.oracle.com does find note 1082278.1 which although for old versions of WebLogic, that WS-RM isn't supported for JAX-WS in WLS, but is supported for JAX-RPC. Since this seems to be for publishing web services, it is not at all clear as to whether this applies to me. In any case, the JDeveloper WS proxy wizard won't let me generate a JAX-RPC proxy, instead saying that the WSDL has no SOAP 1.1 bindings (which is correct, it has SOAP 1.2 bindings).
    John
    John

  • JAX-WS web service - "Cannot find dispatch method"

    I'm getting the same error response every time I send a request to my JAX-WS web service:
    <ns2:Fault xmlns:ns2="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns3="http://www.w3.org/2003/05/soap-envelope">
       <faultcode>ns2:Client</faultcode>
       <faultstring>Cannot find dispatch method for {http://www.w3.org/2003/05/soap-envelope}Envelope</faultstring>
    </ns2:Fault>I've tried using JAX-WS RI 2.1.7 and 2.2 on my Tomcat server, but both return the same error response. It will return the WSDL just fine (when "?wsdl" is appended to the endpoint URL). I used "wsimport" to generate the necessary Java classes from my WSDL--it used JAX-WS RI 2.1.6 (the one included with the JDK I guess) to generate the Java source files.
    Other people online have had similar problems, but never with the SOAP element "{http://www.w3.org/2003/05/soap-envelope}Envelope", always with things specific to their WSDLs like "{}reqParams" or "{http://www.telekom.at/eai/WSToCramerCSIRead}CSIRead". I set a debug breakpoint at the start of my SIB method and it doesn't even get that far.
    Any ideas? Thanks for your help.
    WSDL:
    <?xml version="1.0" encoding="utf-8"?>
    <!-- This wsdl file is for an XDS-I.b Imaging Document Source Actor
         It can be used 'as is' to support Imaging Document Source Retrieve Imaging Document Set Transaction
         using Synchronous Web Services. 
         -->
    <definitions xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"
      xmlns="http://schemas.xmlsoap.org/wsdl/" xmlns:xsd="http://www.w3.org/2001/XMLSchema"
      xmlns:ihe="urn:ihe:iti:xds-b:2007" xmlns:iherad="urn:ihe:rad:xdsi-b:2009" xmlns:rs="urn:oasis:names:tc:ebxml-regrep:xsd:rs:3.0"
      targetNamespace="urn:ihe:rad:xdsi-b:2009" xmlns:soap12="http://schemas.xmlsoap.org/wsdl/soap12/"
      xmlns:wsaw="http://www.w3.org/2006/05/addressing/wsdl" name="ImagingDocumentSource">
      <documentation>IHE XDS-I.b Imaging Document Source</documentation>
      <types>
        <xsd:schema elementFormDefault="qualified"
          targetNamespace="urn:ihe:iti:xds-b:2007"
          xmlns:ihe="urn:ihe:iti:xds-b:2007">
          <!-- Include the message schema -->
          <xsd:include schemaLocation="../schema/IHE/XDS.b_DocumentRepository.xsd"/>
        </xsd:schema>
        <xsd:schema elementFormDefault="qualified"
          targetNamespace="urn:ihe:rad:xdsi-b:2009"
          xmlns:ihe="urn:ihe:iti:xds-b:2007"
          xmlns:iherad="urn:ihe:rad:xdsi-b:2009">
          <!-- Include the message schema -->
          <xsd:include schemaLocation="../schema/IHE/XDSI.b_ImagingDocumentSource.xsd"/>
        </xsd:schema>
        <xsd:schema elementFormDefault="qualified"
          targetNamespace="urn:oasis:names:tc:ebxml-regrep:xsd:rs:3.0"
          xmlns:rs="urn:oasis:names:tc:ebxml-regrep:xsd:rs:3.0">
          <!-- Include the message schema -->
          <xsd:include schemaLocation="../schema/ebRS/rs.xsd"/>
        </xsd:schema>
        <!-- While no elements are directly used from these schema in the WSDL,
          they need to be present here in order for
          code generating toolkits to work properly -->
        <xsd:schema elementFormDefault="qualified"
          targetNamespace="urn:oasis:names:tc:ebxml-regrep:xsd:lcm:3.0"
          xmlns:lcm="urn:oasis:names:tc:ebxml-regrep:xsd:lcm:3.0">
          <!-- Include the message schema -->
          <xsd:include schemaLocation="../schema/ebRS/lcm.xsd"/>
        </xsd:schema>
       <xsd:schema elementFormDefault="qualified"
          targetNamespace="urn:oasis:names:tc:ebxml-regrep:xsd:rim:3.0"
          xmlns:lcm="urn:oasis:names:tc:ebxml-regrep:xsd:rim:3.0">
          <!-- Include the message schema -->
          <xsd:include schemaLocation="../schema/ebRS/rim.xsd"/>
        </xsd:schema>
      </types>
      <message name="RetrieveImagingDocumentSetRequest_Message">
        <documentation>Retrieve Imaging Document Set</documentation>
        <part name="body" element="iherad:RetrieveImagingDocumentSetRequest"/>
      </message>
      <message name="RetrieveDocumentSetResponse_Message">
        <documentation>Retrieve Document Set Response</documentation>
        <part name="body" element="ihe:RetrieveDocumentSetResponse"/>
      </message>
      <portType name="ImagingDocumentSource_PortType">
        <operation name="ImagingDocumentSource_RetrieveImagingDocumentSet">
          <input message="iherad:RetrieveImagingDocumentSetRequest_Message"
            wsaw:Action="urn:ihe:rad:xdsi-b:2009:RetrieveImagingDocumentSet"/>
          <output message="iherad:RetrieveDocumentSetResponse_Message"
            wsaw:Action="urn:ihe:iti:2007:RetrieveDocumentSetResponse"/>
        </operation>
      </portType>
      <binding name="ImagingDocumentSource_Binding" type="iherad:ImagingDocumentSource_PortType">
        <soap12:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
        <operation name="ImagingDocumentSource_RetrieveImagingDocumentSet">
          <soap12:operation soapAction="urn:ihe:rad:xdsi-b:2009:RetrieveImagingDocumentSet"/>
          <input>
            <soap12:body use="literal"/>
          </input>
          <output>
            <soap12:body use="literal"/>
          </output>
        </operation>
      </binding>
      <service name="ImagingDocumentSource_Service">
        <port name="ImagingDocumentSource_Port_Soap12" binding="iherad:ImagingDocumentSource_Binding">
          <soap12:address location="http://localhost:8080/webservice-test/ridsService"/>
        </port>
      </service>
    </definitions>
    Request:
    <soap:Envelope
    xmlns:soap="http://www.w3.org/2003/05/soap-envelope"
    xmlns:urn="urn:ihe:rad:xdsi-b:2009"
    xmlns:urn1="urn:ihe:iti:xds-b:2007"
    xmlns:a="http://www.w3.org/2005/08/addressing">
       <soap:Header>
         <a:Action soap:mustUnderstand="1">urn:ihe:rad:2009:RetrieveImagingDocumentSet</a:Action>
         <a:MessageID>urn:uuid:0fbfdced-6c01-4d09-a110-2201afedaa02</a:MessageID>
         <a:ReplyTo soap:mustUnderstand="1">
              <a:Address>http://www.w3.org/2005/08/addressing/anonymous</a:Address>
         </a:ReplyTo>
         <a:To>http://localhost:8080/webservice-test/ridsServer</a:To>
       </soap:Header>
       <soap:Body>
          <urn:RetrieveImagingDocumentSetRequest>
             <!--1 or more repetitions:-->
             <urn:StudyRequest studyInstanceUID="test1">
                <!--1 or more repetitions:-->
                <urn:SeriesRequest seriesInstanceUID="test2">
                   <!--1 or more repetitions:-->
                   <urn1:DocumentRequest>
                      <!--Optional:-->
                      <urn1:HomeCommunityId>test3</urn1:HomeCommunityId>
                      <urn1:RepositoryUniqueId>test4</urn1:RepositoryUniqueId>
                      <urn1:DocumentUniqueId>test5</urn1:DocumentUniqueId>
                   </urn1:DocumentRequest>
                </urn:SeriesRequest>
             </urn:StudyRequest>
             <urn:TransferSyntaxUIDList>
                <!--1 or more repetitions:-->
                <urn:TransferSyntaxUID>?</urn:TransferSyntaxUID>
             </urn:TransferSyntaxUIDList>
          </urn:RetrieveImagingDocumentSetRequest>
       </soap:Body>
    </soap:Envelope>
    Response (HTTP 500):
    <ns2:Fault xmlns:ns2="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns3="http://www.w3.org/2003/05/soap-envelope">
       <faultcode>ns2:Client</faultcode>
       <faultstring>Cannot find dispatch method for {http://www.w3.org/2003/05/soap-envelope}Envelope</faultstring>
    </ns2:Fault>

    I posted here to benefit anybody who is looking for a solution.
    The solution is to use WebServiceContext to get ServletContext, then use ServletContext to get parameters defined in web.xml.
    @Resource private WebServiceContext m_wsCxt;
    Then in method
    SOAPMessageContext soapCxt = (SOAPMessageContext) m_wsCxt.getMessageContext();
    ServletContext servletCxt = (ServletContext) soapCxt.get(javax.xml.ws.handler.MessageContext.SERVLET_CONTEXT);
    }

  • Jax-ws: dynamic proxy-suppress weblogic's default ws-policy handling

    hi all,
    i am writing my own jax-ws client (dynamic proxy) to call a web service, secured by usernametoken profile.
    the wsdl of the web service do include the ws-policy information.
    sample client side code:
    URL url = new URL("path_to_wsdl_file");
    QName serviceQname = new QName("http://model/", "CalculationService");
    Service service = Service.create(url, serviceQname);
    //add resolver and jax-ws handler to add username token SOAPElement fragment to the SOAP message.
    the above code runs fine in J2SE 6.0 environment (without any weblogic-specific library).
    but when i run the above code in a servlet (running in weblogic), the above code fails with the following error:
    Exception in thread "main" javax.xml.ws.soap.SOAPFaultException: Unable to add security token for identity, token uri =http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-username-token-profile-1.0#UsernameToken
    at com.sun.xml.ws.fault.SOAP11Fault.getProtocolException(SOAP11Fault.java:196)
    at com.sun.xml.ws.fault.SOAPFaultBuilder.createException(SOAPFaultBuilder.java:122)
    at com.sun.xml.ws.client.sei.SyncMethodHandler.invoke(SyncMethodHandler.java:119)
    at com.sun.xml.ws.client.sei.SyncMethodHandler.invoke(SyncMethodHandler.java:89)
    at com.sun.xml.ws.client.sei.SEIStub.invoke(SEIStub.java:118)
    at $Proxy23.add(Unknown Source)
    at client.ServiceLocator.main(ServiceLocator.java:32)
    it seems that the weblogic server will try to handle the ws-policy element (according to those in the wsdl), even though
    i have already added the username-token security header by my own code.
    As i don't add some weblogic-specific code (e.g. weblogic.wsee.security.unt.ClientUNTCredentialProvider), the web service call fails.
    is it possible to disable/suppress such behavior (weblogic runtime handle the ws-policy element) per web service call???
    (i don't want a server scope solution, as there may be other web service client running on the same weblogic server that rely on such behavior).
    i don't want to use weblogic's API (e.g. ClientUNTCredentialProvider) as i want my web service client be portable (username token is easy to be handled by my own code)
    thank you.

    Hi René ,
    i just use plain HTTP, not HTTPS.
    seems don't involve any certificate, am i right?
    in J2SE environment, i can run the webservice client without problem.
    but once i run the client in weblogic, the problem mentioned occurred.
    if i manually delete the ws-policy related tag in the wsdl file (i download it to local filesystem for testing), the client can run in weblogic too.
    so, think there is some setting in weblogic that try to handle the ws-policy by its so-called 'credential provider'(e.g. ClientUNTCredentialProvider ?)
    thank you.

  • JAX-WS: How to get SoapMessage that contains SoapFault ?

    Hello all
    I am using JAX-WS to invoke a web service. (Say for example: [http://weblogs.java.net/blog/jitu/archive/2006/01/accessing_googl_1.html] )
    Now, if I get a SOAPFault ( means when WebServiceException gets thrown) I want to print the corresponding SoapMessage.
    E.g. I want to print something like
    <?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>
    <soap:Fault>
    <faultcode>soap:Server</faultcode>
    <faultstring>Server was unable to process request.</faultstring>
    <detail>
    <error>
    <code>0x80041102</code>
    <description>The specified entity was not found.</description>
    <type>Platform</type>
    </error>
    </detail>
    </soap:Fault>
    </soap:Body>
    </soap:Envelope>
    Can someone please help me out in this regards?
    Thanks in advance.
    ~pp

    sample code to invoke above method
    private String callWS(WSServiceConfig serviceConfig, String soapRequest)
             throws SOAPException, IOException
         try
             String wsdl = serviceConfig.getUrl();
             URL url = new URL(wsdl);
             QName serviceName = new QName(serviceConfig.getNamespaceUri(),
                  serviceConfig.getServiceName());
             QName portName = new QName(serviceConfig.getNamespaceUri(),
                  serviceConfig.getPortName());
             Service service = Service.create(url, serviceName);
             Dispatch dispatch = service.createDispatch(portName,
                  SOAPMessage.class, Service.Mode.MESSAGE);
             if (serviceConfig.getSoapActionUri() != null)
              dispatch.getRequestContext().put(
                   Dispatch.SOAPACTION_URI_PROPERTY,
                   serviceConfig.getSoapActionUri().trim());
             MessageFactory mf = MessageFactory.newInstance();
             SOAPMessage req = mf.createMessage(null, IOUtil
                  .getBufferedInputStream(soapRequest.getBytes()));
             SOAPMessage res = (SOAPMessage) dispatch.invoke(req);
             ByteArrayOutputStream byteArrayOutputStream = new ByteArrayOutputStream();
             res.writeTo(byteArrayOutputStream);
             return IOUtil.getString(byteArrayOutputStream);
         catch (WebServiceException we)
             logger.error("failed to invoke ws -- " + we.getMessage(), we);
             if (we instanceof SOAPFaultException)
              // return soap fault
              return returnSoapFault((SOAPFaultException) we);
             throw we;
        }

  • Import jax-ws web service created in netbeans 6.5

    Hello,
    I have seen a few posts on this but without a result, so trying again in case there has been some progress. First of all I ran the UsWeather example, imported the webservices etc. and this works. I then tried the same for my web service, jax-ws create via netbeans and this doesn't work. It is a simple calc function that should accept two integer, i and j and return the sum. From what I can make out it is because the parameters are somehow wrapped and are not visible via the creates action scripts
    So when I run this sort of thing:
    private var calc:CalcWSService = new CalcWSService;
    var req:Add_request = new Add_request();
                    req.i = 2;
                    req.j = 3;
                    calc.add_request_var = req;
                    // Invoke the method
                    calc.add_send();
    I get the error message
    TypeError: Error #1009: Cannot access a property or method of a null object reference.
        at Test/getMyCalc2()[Y:\FlexWorkspaces\TestWorkSpace\Test\src\Test.mxml:64]
        at Test/___Test_Button4_click()[Y:\FlexWorkspaces\TestWorkSpace\Test\src\Test.mxml:92]
    If I reference my web service as follows
    <mx:WebService id="webService" wsdl="http://localhost:8080/CalcWSProject/CalcWSService?wsdl" >     
             <mx:operation name="add" resultFormat="object" result="display(event);">                   
             <mx:request xmlns="" >         
                <i>2</i>  
                <j>4</j>         
              </mx:request>       
              </mx:operation>         
           </mx:WebService>
    and run
                webService.add.send();
    then it works
    The generated CalcWSService.as add function looks like this(i.e.the parameters appear to be hidden
           public function add(add:Add):AsyncToken
                   var _internal_token:AsyncToken = _baseService.add(add);
                _internal_token.addEventListener("result",_add_populate_results);
                _internal_token.addEventListener("fault",throwFault);
                return _internal_token;
    Any way to get around the problem when importing the web services via the wizard?

    Result after navigating to: http://localhost:8084/HelloWS/HelloWS?xsd=1
    <?xml version="1.0" encoding="UTF-8"?>
    <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" targetNamespace="http://hi.me.org/" version="1.0">
      <xs:element xmlns:ns1="http://hi.me.org/" type="ns1:add" name="add"/>
      <xs:complexType name="add">
        <xs:sequence>
          <xs:element type="xs:int" minOccurs="0" name="arg0"/>
          <xs:element type="xs:int" minOccurs="0" name="arg1"/>
        </xs:sequence>
      </xs:complexType>
      <xs:element xmlns:ns2="http://hi.me.org/" type="ns2:addResponse" name="addResponse"/>
      <xs:complexType name="addResponse">
        <xs:sequence>
          <xs:element type="xs:int" minOccurs="0" name="return"/>
        </xs:sequence>
      </xs:complexType>
    </xs:schema>

  • JAX WS request and Resonse Help

    Good day Guys,
    Can anybody help me with a example or tutorial to create a JAX WEb Service.
    What i need to do is to process a complex XML SOAP request and provide a response or a Fault message.
    I have the three XSD Schemas but i dont really know where to start.
    Thanks in advance.

    This (http://www.javaworld.com/javaworld/jw-02-2007/images/jw-02-handler6.jpg) shows when the soap handler is executed in the request/response chain.
    What could be the case is that the bytes you are writing to the PrintStream are still buffered, by calling flush any buffered output bytes are written to the underlying output stream.
    Also do not forget to close the PrintStream. http://docs.oracle.com/javase/1.5.0/docs/api/java/io/PrintStream.html#flush()

  • Mapping custom faults to custom exceptions

    Hello all,
    I defined a web service that could thow for some operations custom faults. These custom faults were manually defined in the WSDL file of the web service. I sent some request messages to the web service and I received the result and everything seems to be fine.
    I automatically generated the Java stub/client, but it seems that the client doesn't receive custom exceptions for the corresponding custom faults defined in the WSDL file. I would like that, in the Java client, for the custom faults defined in the WSDL for the operations exposed, the client to receive corresponding custom exceptions. I work with JDev 9.0.5, OC4J 10g 9.0.4. release. Is this possible in that release? I knew that there were limitations regarding JAX-RPC in that release... If not, will this be available in 10.1.3 release?
    As an additional info, I tried to generate the Java client stub with AXIS WSDL2Java tool. Also, I received a generic exception for the custom faults, due to the fact that for the custom exceptions (from code generated by axis tools) to work, you need axis both on client and the server.
    Many thanks in advance!
    Regards,
    Marinel

    Hi,
    I'm uncertain about 9.0.4/10.1.2 (I will investigate further), but 10.1.3 supports fault to exception and exception to fault mappings.

  • Incorrect faultstring for checked exception from JAX-RPC Sun App server 8.1

    I am trying to throw a checked exception in a web service. The checked exception object has a constructor that takes a single custom bean java class argument. It also has a get/setter for that argument .
    Here's the exception class:
    package com.innovativ.esp.websvc;
    public class ValidationException extends Exception implements java.io.Serializable{
    private Test test;
    public ValidationException(Test test) {
    super("from testb set ");
    this.test = test;
    public Test getTest() {
    return this.test;
    public void setTest(Test test) {
    this.test = test;
    The SAOP message for fault is shown as below:
    <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:enc="http://schemas.xmlsoap.org/soap/encoding/" xmlns:ns0="urn:Service/types">
    <env:Body>
    <env:Fault xsi:type="env:Fault">
    <faultcode>env:Server</faultcode>
    <faultstring>com.innovativ.esp.websvc.ValidationException</faultstring>
    <detail><ns0:ValidationException><message>from testb set </message></ns0:ValidationException>
    </detail>
    </env:Fault>
    </env:Body>
    </env:Envelope>
    The server side JAX-RPC is not sending the "Test" object in the detail part...
    Any idea why it's not including the "Test" in message.
    Thank you for any help....

    Here's the WSDL for the service :
    <?xml version="1.0" encoding="UTF-8"?><definitions xmlns="http://schemas.xmlsoap.org/wsdl/" xmlns:tns="urn:Service/wsdl" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:ns2="urn:Service/types" name="Service" targetNamespace="urn:Service/wsdl">
    <types>
    <schema xmlns="http://www.w3.org/2001/XMLSchema" xmlns:tns="urn:Service/types" xmlns:soap11-enc="http://schemas.xmlsoap.org/soap/encoding/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" targetNamespace="urn:Service/types">
    <complexType name="sayHelloResponse">
    <sequence>
    <element name="result" type="string" nillable="true"/></sequence></complexType>
    <complexType name="ValidationException">
    <sequence>
    <element name="test" type="tns:Test" nillable="true"/></sequence></complexType>
    <complexType name="Test">
    <sequence>
    <element name="prop" type="string" nillable="true"/></sequence></complexType>
    <element name="sayHello" type="tns:sayHello"/>
    <element name="sayHelloResponse" type="tns:sayHelloResponse"/>
    <element name="ValidationException" type="tns:ValidationException"/></schema></types>
    <message name="IFServiceWS_sayHello">
    <part name="parameters" element="ns2:sayHello"/></message>
    <message name="IFServiceWS_sayHelloResponse">
    <part name="result" element="ns2:sayHelloResponse"/></message>
    <message name="ValidationException">
    <part name="ValidationException" element="ns2:ValidationException"/></message>
    <portType name="IFServiceWS">
    <operation name="sayHello">
    <input message="tns:IFServiceWS_sayHello"/>
    <output message="tns:IFServiceWS_sayHelloResponse"/>
    <fault name="ValidationException" message="tns:ValidationException"/></operation></portType>
    <binding name="IFServiceWSBinding" type="tns:IFServiceWS">
    <soap:binding transport="http://schemas.xmlsoap.org/soap/http" style="document"/>
    <operation name="sayHello">
    <soap:operation soapAction=""/>
    <input>
    <soap:body use="literal"/></input>
    <output>
    <soap:body use="literal"/></output>
    <fault name="ValidationException">
    <soap:fault name="ValidationException" use="literal"/></fault></operation></binding>
    <service name="Service">
    <port name="IFServiceWSPort" binding="tns:IFServiceWSBinding">
    <soap:address location="http://localhost:5050/ESP/Service" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"/></port></service>
    </definitions>

Maybe you are looking for

  • Directly printing works - but viewer fails with an error

    Hey, we are using: Crystal Reports 2011 and runtime for VS2010. I open and print my reports via c#. The directly printing works fine. But the viewer don't works. It's really crazy, because directly printing and viewing are using the same methods for

  • MBPro + Cinema Display not going to sleep

    Hi everyone, I have a MBpro 15 (mid 2010) hooked with a 27" Cinema display. When i use the laptop without the cinema display and i lock the screen, after a few seconds the MBpro goes to sleep (and definitely you save battery power by doing that). Whe

  • Script for multiple insert

    hi, I want to insert some 100 records into emp table. instead of one by one one row insert, i want to write a script so that it will insert 100 records. like empid ename sal 1000 king a 100 this is the first record, the second record should be empid

  • Y have problem with bios of motherboard K9N2-GM 8200 GE FORCE

    y have updated the bios of my motherboard k9N2-GM 8200 nvidia geforce (y have a cpu athlon 64 bit dual core 6000+ 3000 Ghz) and it is missing in Advanced Bios Feature. in the bios, CPU FEATURE  the SVM (secure virtual machine) Y have replaced the old

  • Change of

    whats is the use of change of and at new?could u plzz tell me?