JAX-WS Web Service Client: com.sun.xml.internal.ws.client.ClientTransportEx

Dear Java EE Experts,
I have developed a JAX-WS based web service client in net beans. The WSDL is successfully imported. I can create objects based on classes gernerated from WSDL. But when I call the actual web service method (giving an input object and expecting a return/output object), I get an exception:
===============================
Exception in thread "main" com.sun.xml.internal.ws.client.ClientTransportException: The server sent HTTP status code 400: Bad Request
at com.sun.xml.internal.ws.transport.http.client.HttpTransportPipe.checkStatusCode(HttpTransportPipe.java:196)
at com.sun.xml.internal.ws.transport.http.client.HttpTransportPipe.process(HttpTransportPipe.java:168)
at com.sun.xml.internal.ws.transport.http.client.HttpTransportPipe.processRequest(HttpTransportPipe.java:83)
at com.sun.xml.internal.ws.transport.DeferredTransportPipe.processRequest(DeferredTransportPipe.java:105)
at com.sun.xml.internal.ws.api.pipe.Fiber.__doRun(Fiber.java:587)
at com.sun.xml.internal.ws.api.pipe.Fiber._doRun(Fiber.java:546)
at com.sun.xml.internal.ws.api.pipe.Fiber.doRun(Fiber.java:531)
at com.sun.xml.internal.ws.api.pipe.Fiber.runSync(Fiber.java:428)
at com.sun.xml.internal.ws.client.Stub.process(Stub.java:211)
at com.sun.xml.internal.ws.client.sei.SEIStub.doProcess(SEIStub.java:124)
at com.sun.xml.internal.ws.client.sei.SyncMethodHandler.invoke(SyncMethodHandler.java:9Cool
at com.sun.xml.internal.ws.client.sei.SyncMethodHandler.invoke(SyncMethodHandler.java:7Cool
at com.sun.xml.internal.ws.client.sei.SEIStub.invoke(SEIStub.java:107)
at $Proxy28.smsSpcIPCC(Unknown Source)
at javaapplication1.Main.smsSpcIPCC(Main.java:34)
at javaapplication1.Main.recordComplaint(Main.java:54)
at javaapplication1.Main.main(Main.java:25)
Java Result: 1
BUILD SUCCESSFUL (total time: 2 minutes 22 seconds)
===============================
The code snippet that causes the runtime exception is (exception comes on last line of this code:
===============================
ServiceRequest sr = new ServiceRequest();
sr.setSerialNumber("211778");
sr.setProductCode("PSTN");
sr.setMSISDN("03005499257");
sr.setComplaintType("P1");
sr.setStatus("Open");
sr.setSubStatus("Unassigned");
com.siebel.customui.SMSSpcIPCCInput input = new SMSSpcIPCCInput();
input.setOperation("Registration");
ListOfWcServiceRequestIo srList = new ListOfWcServiceRequestIo();
srList.getServiceRequest().add(sr);
input.setListOfWcServiceRequestIo(srList);
SMSSpcIPCCOutput output = smsSpcIPCC(input);
===============================
Not sure how to resolve it. Please help.
Thanks & Regards,
Ahsan

WIS is not suppported on WLS JAX-WS. You'll need to use other authentication mechanisms such as http basic (which you tried already), or message-level security such as UNT, or SAML.
Regards,
Pyounguk

Similar Messages

  • 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

  • Cant import com.sun.xml.internal.ws.spi

    I was intalled NetBeans IDE 6.1, JDK/JRE 1.6.0_07.
    but
    import com.sun.xml.internal.ws.spi.ProviderImpl;
    This statement comes an error (package com.sun.xml.internal.ws.spi does not exist )
    but JDK6(rt.jar) has this package and class.
    why this happen?

    Probably it wasn't his fault:
    * Copyright 2007 Sun Microsystems, Inc. All rights reserved.
    * SUN PROPRIETARY/CONFIDENTIAL. Use is subject to license terms.
    *$Id: Provider.java,v 1.8.2.6 2007/03/09 23:51:10 kohlert Exp $
    package javax.xml.ws.spi;
    import java.net.URL;
    import java.util.List;
    import javax.xml.ws.Endpoint;
    import javax.xml.ws.WebServiceException;
    import javax.xml.ws.WebServiceFeature;
    import javax.xml.namespace.QName;
    import javax.xml.ws.EndpointReference;
    import javax.xml.ws.wsaddressing.W3CEndpointReference;
    import org.w3c.dom.Element;
    * Service provider for <code>ServiceDelegate</code> and
    * <code>Endpoint</code> objects.
    * <p>
    * @since JAX-WS 2.0
    public abstract class Provider {  .....
    static private final String DEFAULT_JAXWSPROVIDER
    = "com.sun.xml.internal.ws.spi.ProviderImpl";
    Edited by: mgb on Oct 7, 2008 3:59 PM

  • Provider com.sun.xml.internal.ws.spi.ProviderImpl not found

    I'm trying to run a webservice client on jdk1.5 and gives me the following error:
    javax.xml.ws.WebServiceException: Provider com.sun.xml.internal.ws.spi.ProviderImpl not found
    Any suggestions will be appreciated.

    michallis wrote:
    I had this problem once on a Linux where i forgot that openJDK was installed.
    openJDK doesn't contain sun packages.Great, but OpenJDK exists since Java 6 and this issue is about Java 5. jtahlborn's reply is still the relevant one.

  • How to handle the exception com.sun.xml.internal.messaging.saaj.SOAPExcepn

    hi,
    I am accessing wsdl to get all the required data and the connection is establishing successfully thru java code but when i am calling the create user api the following exception is coming
    "com.sun.xml.internal.messaging.saaj.SOAPExceptionImpl: No NamespaceURI, SOAP requires faultcode content to be a QName"
    please tell me what is faultcode means and how to solve this exception

    Hi,
    Whenever there is any error inside the WebService or while it's processing ...it throws Exceptions ..We can handle these exception by our own to make the Exception details more readable.....For that we can create our own SOAPFault message...
    Please refer to the below Posts...
    1). If you are using JAXWS Style of WebService then : http://middlewaremagic.com/weblogic/?p=713
    2). If you are using JAXRPC Style of WebService then : http://middlewaremagic.com/weblogic/?p=721
    Thanks
    Jay SenSharma
    http://middlewaremagic.com/weblogic (Middleware magic Is Here)

  • Can not access JAX-WS web service from mobile or desktop as client

    Hello Dears,
    I developed a web service and client for that web service, and every thing is ok, but when secure the web service and try to invoke it from it's static stub from desktop application or from mobile appliaction it failed and it gice me this error,
    Exception in thread "main" com.sun.xml.ws.client.ClientTransportException: HTTP
    transport error: javax.net.ssl.SSLHandshakeException:
    sun.security.validator.ValidatorException: PKIX path building failed:
    sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid
    certification path to requested target
    at
    com.sun.xml.ws.transport.http.client.HttpClientTransport.getOutput(HttpClientTransport.java:134)
    at
    com.sun.xml.ws.transport.http.client.HttpTransportPipe.process(HttpTransportPipe.java:140)
    at
    com.sun.xml.xwss.XWSSClientPipe.process(XWSSClientPipe.java:118)
    at
    com.sun.xml.ws.api.pipe.helper.PipeAdapter.processRequest(PipeAdapter.java:115)
    at
    com.sun.xml.ws.api.pipe.Fiber.__doRun(Fiber.java:595)
    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
    $Proxy34.add(Unknown Source)
    at
    com.myeclipse.ws.WebServiceClient.main(WebServiceClient.java:11)
    so, what i can do to fix this error.

    WIS is not suppported on WLS JAX-WS. You'll need to use other authentication mechanisms such as http basic (which you tried already), or message-level security such as UNT, or SAML.
    Regards,
    Pyounguk

  • JAX RI:javax.activation.DataHandler cannot be cast to com.sun.xml.ws.....

    I'm newbie in web services, and I would like to create web service for upload files.
    Axis2 is installed, and I tried to implement some solutions I found on the web, but i got an error:
    javax.activation.DataHandler cannot be cast to com.sun.xml.ws.developer.StreaminDataHandler
    on server side code looks like:
    @WebMethod(operationName = "getHeight")
    public int getHeight(String name, @XmlMimeType("application/octet-stream") DataHandler data) {
    StreamingDataHandler dh = (StreamingDataHandler) data; //this is where error occurs..
    on client side:
    tt=new javax.activation.FileDataSource("c:\\myImage.jpg");
    dhh=new javax.activation.DataHandler(tt);
    int r=port.getHeight("name", dhh);
    tnx :)

    Hi dKohlert,
    I have now changed my code completely and got it working this way !
    import javax.jws.WebMethod;
    import javax.jws.WebParam;
    import javax.jws.WebService;
    import javax.xml.soap.SOAPMessage;
    import javax.xml.ws.Provider;
    import javax.xml.ws.Service;
    import javax.xml.ws.ServiceMode;
    import javax.xml.ws.WebServiceProvider;
    * @author Footman
    @ServiceMode(value=Service.Mode.MESSAGE)
    @WebServiceProvider( targetNamespace="http://spblue.liberty:8084/wsdl/globalLogout")
    //@WebService(name="GlobalLogoutService", targetNamespace="http://spblue.liberty:8084/wsdl/globalLogout")
    public class GlobalLogoutServiceImpl implements Provider<SOAPMessage> {
    @WebMethod(operationName ="globalLogout", action="urn:liberty:soap-action")
        public SOAPMessage invoke(@WebParam(name = "logoutRequest") SOAPMessage logoutRequest ){
            return logoutRequest;
        }Thanks anyway for your reply. If I find some time I will try to use the apt-tool.

  • JAX-WS Web Service with XFire Client

    I wrote a simple web service and client using XFire. However the server now needs to be JAX-WS. I wrote a simple service using NetBeans but I can't seem to get it to work with XFire. JAX-WS doesn't seem to like the SOAP XFire is sending it and the parameters passed into the web method are nulls instead of the intended values.
    Here is my web service:
    package org.me.hi;
    import javax.jws.WebMethod;
    import javax.jws.WebResult;
    import javax.jws.WebService;
    import javax.jws.soap.SOAPBinding;
    import javax.jws.soap.SOAPBinding.Style;
    import javax.jws.soap.SOAPBinding.Use;
    import javax.jws.soap.SOAPBinding.ParameterStyle;
    @WebService(name="HelloWS", targetNamespace="http://hi.me.org")
    @SOAPBinding(style=Style.DOCUMENT, use=Use.LITERAL, parameterStyle=ParameterStyle.WRAPPED)
    public class HelloWS {
        @WebMethod(operationName="add", action="")
        @WebResult(name="return", targetNamespace="http://hi.me.org")
        public Integer add(Integer a, Integer b) {
            if (a == null)
                System.out.println("a is null");
                return null;
            if (b == null)
                System.out.println("b is null");
                return null;
            System.out.println("a: " + a + " b: " + b);
            return a + b;
    }Here is the WSDL:
    <?xml version="1.0" encoding="UTF-8"?>
    <definitions xmlns:tns="http://hi.me.org" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns="http://schemas.xmlsoap.org/wsdl/" targetNamespace="http://hi.me.org" name="HelloWSService">
      <types>
        <xsd:schema>
          <xsd:import namespace="http://hi.me.org" schemaLocation="http://localhost:8084/HelloWS/HelloWS?xsd=1"/>
        </xsd:schema>
      </types>
      <message name="add">
        <part element="tns:add" name="parameters"/>
      </message>
      <message name="addResponse">
        <part element="tns:addResponse" name="parameters"/>
      </message>
      <portType name="HelloWS">
        <operation name="add">
          <input message="tns:add"/>
          <output message="tns:addResponse"/>
        </operation>
      </portType>
      <binding type="tns:HelloWS" name="HelloWSPortBinding">
        <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
        <operation name="add">
          <soap:operation soapAction=""/>
          <input>
            <soap:body use="literal"/>
          </input>
          <output>
            <soap:body use="literal"/>
          </output>
        </operation>
      </binding>
      <service name="HelloWSService">
        <port binding="tns:HelloWSPortBinding" name="HelloWSPort">
          <soap:address location="http://localhost:8084/HelloWS/HelloWS"/>
        </port>
      </service>
    </definitions>Here is my quick and dirty XFire client:
    package org.me.hi;
    import java.net.MalformedURLException;
    import java.net.URL;
    import org.codehaus.xfire.client.Client;
    public class HelloTest {
        public static void main(String[] args) {
            Client client;
            try {
                client = new Client(new URL("http://localhost:8085/HelloWS/HelloWS?wsdl"));
                Object[] results = client.invoke("add", new Object[] {1, 2});
                if (results.length != 0) {
                    System.out.println("result: " + (Integer)results[0]);
                } else {
                    System.out.println("null return");
            } catch (MalformedURLException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            } catch (Exception e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
    }Here is the SOAP I intercepted between the XFire client and the JAX-WS service:
    Calling the web method:
    <soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
      <soap:Body>
        <ns1:add xmlns:ns1="http://hi.me.org">
          <ns1:arg0>1</ns1:arg0>
          <ns1:arg1>2</ns1:arg1>
        </ns1:add>
      </soap:Body>
    </soap:Envelope>Response:
    <?xml version="1.0" ?>
    <soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:ns1="http://hi.me.org">
      <soapenv:Body>
        <ns1:addResponse></ns1:addResponse>
      </soapenv:Body>
    </soapenv:Envelope>Console at the server side:
    a is nullConsole at the client side:
    null returnNot sure what I'm doing wrong, but I wrote a quick JAX-WS client using NetBeans and it works. We would like to keep using XFire if possible. Here is the SOAP between the JAX-WS client and the JAX-WS web service.
    <?xml version="1.0" ?>
    <soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:ns1="http://hi.me.org/">
      <soapenv:Body>
        <ns1:add>
          <arg0>1</arg0>
          <arg1>2</arg1>
        </ns1:add>
      </soapenv:Body>
    </soapenv:Envelope>
    <?xml version="1.0" ?>
    <soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:ns1="http://hi.me.org/">
      <soapenv:Body>
        <ns1:addResponse>
          <return>3</return>
        </ns1:addResponse>
      </soapenv:Body>
    </soapenv:Envelope>

    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 web service client

    Hi, I am confused by the web service document http://docs.oracle.com/cd/E17904_01/web.1111/e13758/use_cases.htm#i244846 section 2.4. The Note states:
    You can invoke a Web service from any Java SE or Java EE application running on WebLogic Server (with access to the WebLogic Server classpath). Invoking a Web service from stand-alone Java applications that are running in an environment where WebLogic Server libraries are not available is not supported in this release for JAX-WS Web services.If I understand it correctly, it says jax-ws only can be consumed by the clients that have access to wls libraries. My web service client will be 3rd party business parnter. Not sure if they are on wls or not. Does it mean I can't use jax-ws?

    When you just use the JAX-WS standard you do not need any WebLogic related classes to create a client for your web service.
    When the web service is deployed the WSDL can be accessed. By using this WSDL you can create your client by using tools
    such as wsimport (which comes with a JDK distribution and is located in the JDK_HOME/bin directory)
    wsimport -keep -d C:\YOUR_PROJECT\src http://hostname:port/context/SomeWebService?wsdlthe 'keep' option make sure the generated .java files are not thrown away.

  • Java.lang.ClassNotFoundException: com.sun.xml.rpc.client.ServiceFactoryImpl

    Hi Forum:
    i want to explain you my problem i created a webservice with JDeveloper 10.1.3, and run perfectly but when i want to run it in another IDE i copied the codes to a another IDE and run perfectly in a simple java project in my different IDE but when i putted the code in a web application in another web server differente to the oracle i got this error message
    vax.xml.rpc.ServiceException: java.lang.ClassNotFoundException: com.sun.xml.rpc.client.ServiceFactoryImpl ------------------------- Loader Info ------------------------- ClassLoader name:
    i don�t know what�s happening and is so strange because i make one simple java project in eclipse and i copied the codes and works fine, but in a web application i can�t run it.
    I also founded it the jar to this class com.sun.xml.rpc.client.ServiceFactoryImpl
    but doesn�t work
    Can somebody help me, please?.. i really need it..
    thnks
    joshua

    It usually means that a JAR in which the class file resides is not included in the web-app or is not on the classpath. Had the same problem with the last Eclipse/WebLogic project where JAR files, in which class files resided on which other class files were dependent, were missing.
    Ronald

  • Provider com.sun.xml.rpc.client.ServiceFactoryImpl not found

    I'm working on a Java Aplication and when I run the Application with Jdeveloper 11 I get this error
    javax.xml.rpc.ServiceException: Provider com.sun.xml.rpc.client.ServiceFactoryImpl not found
    When I run the Application with Jdeveloper 10.1.3 and it's works fine.
    What is the cause?
    thanks

    You may wish to compare the jar files referenced in both versions of JDeveloper, I did a quick Google search and found the following page which lists the .jar files that contain this class:
    http://javacio.us/search?q=com%2Fsun%2Fxml%2Frpc%2Fclient%2FServiceFactoryImpl+more%3Ajar_files&inline=true
    Hope this helps,
    Sean

  • JAX-WS web service client and Windows integrated Security authentication

    I am currently developing a JAX-WS web service client running on WebLogic 10.3.2.0. The client is connecting to exchange web service running on IIS.
    Everything works well when EWS is configured with Http basic authentication.
    The problems started when I changed the autentication method on EWS from Http basic authentication to Windows integrated Security authentication.
    The client is then unable to authenticate to the web service. Every request made to EWS returns with the message : Invalid HTTP server response [401] - Unauthorized.
    I tried using an authenticator like this one:
    static class RetrieveWSDLAuthenticator extends Authenticator
    private String username, password;
    public RetrieveWSDLAuthenticator(String user, String pass)
    username = user;
    password = pass;
    @Override
    protected PasswordAuthentication getPasswordAuthentication()
    return new PasswordAuthentication(username, password.toCharArray());
    and setting it as the default authenticator :
    Authenticator.setDefault(new MyAuthenticator("username", "password"));
    but the method getPasswordAuthentication() was not even called.
    Is there a way to make a JAX-WS client works with Windows integrated Security ?

    WIS is not suppported on WLS JAX-WS. You'll need to use other authentication mechanisms such as http basic (which you tried already), or message-level security such as UNT, or SAML.
    Regards,
    Pyounguk

  • Build soap client to invoke jax-rpc web services

    Hi,
    I would like realize a simple soap java client to invoke a web services starting from wdsl file configuration of my web services.
    Thanks,
    Enrico.

    Hi,
    You can use jax-rpc to invoke the web services by creating stubs classes in your client side using wsdl. If you have ant ,then use wscompile command (in ant) or through dos command passing this wsdl file as parameter to create stubs classes automatically.And then set your classpaths accordingly when calling the web services from your client.
    thanks
    javaonlyjava

  • RIDC client using JAX-WS Web Service requires OWSM policy

    Hi
    For development purposes, I want to invoke the RIDC JAX-WS Web Service (I believe this to be the 11g idc native ws) but an error is thrown stating the various policies are invalid. The fact is my instance of Weblogic is not set up with OWSM and there are no security policies applied or configured.
    I was wondering if there was a way to invoke this web service using http basic authentication and bypass the requirement to have a policy attached.
    If not, does anyone have steps on how to enable OWSM and policies, and attach these to the IDC native web services).
    Thanks
    M

    Hi Ryan
    Yes, I have tried to use the JAX-WS with configuration that I was hoping would set Basic Auth on the request, however an error is thrown stating that the required policies are invalid on the server.
    In summary:
    I create a JaxWSClient client.
    I create a binder using the client.
    I create a IdcContext using a valid username and password.
    I set up the service details and params in the binder.
    I send the request by invoking the client and passing the binder and IdcContext.
    With this basic set-up, I get a SOAP fault from the server stating that policy 'oracle/no_authentication_service_policy' and oracle/no_messageprotection_service_policy are invalid. It makes sense that there are invalid as they are not present on my weblogic instance, and it seems that because I have not specified any other configuration, that these are treated as the default policies.
    Setting up basic auth would be ideal, as I do not have control of the Weblogic instances, and so getting OWSM would be a pain. There may be some way to set up the client to use Basic Auth, but unfortunately I cannot see how.
    Cheers

  • How to use user-defined packages in JAX-RPC web service

    I am trying to use Object of my class located in my package in jax-rpc webservice,the code is
    package supercomputer;
    import Hello.*;
    public class SuperImpl implements SuperIF
    public String sendParam(String data)
    Temp ob=new Temp();
    int i=ob.get1(10000);
    return data+"returned by supercomputer";
    Temp is located in Hello package,I have jar the Hello package as Hello.jar and has set its classpath in targets.xml of Ant tool.
    The code compiles well and service is deployed successfully,but when i try to call the service from the client its gives me following error.
    [echo] Running the supercomputer.SuperClient program....
    [java] java.rmi.ServerException: Missing port information
    [java] at com.sun.xml.rpc.client.StreamingSender._raiseFault(StreamingSender.java:357)
    [java] at com.sun.xml.rpc.client.StreamingSender._send(StreamingSender.java:228)
    [java] at supercomputer.SuperIF_Stub.sendParam(SuperIF_Stub.java:60)
    [java] at supercomputer.SuperClient.main(Unknown Source)
    I dont know if it deploys why it gives error on client side.
    Please tell how to use user-defined packages and class in jax-rpc service code ,i am not talking about passing user-defined parameters i am just talking about making objects of user defined classes in jax-rpc service.I think there is some problem in classpath.
    Please guide me in doing that.
    Thanks,
    Farrukh

    Farrukh,
    I don't know if your error is about a missing class from your custom package, ... what track did you followed to say that?
    To use your package in the implementation of you web service, you should only follow the rules of making a web application: put your package jar in your \lib directory inside WEB-INF/ or your package classes unjared in classes (also in WEB-INF/).
    As I already said, I have doubts that your error should be originated from a missing class from your package, but:
    -try to see the logs (errors?) when you deploy your web service that could give a hint about the problem.
    -try to see if you can access your endpoint through your browser to see if there is a online status
    -display your config/WSDL file, and the steps you did to build your web service.
    regards,
    Pedro Salazar.

Maybe you are looking for