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

Similar Messages

  • SAAJ (Web Service Client) and Integrated windows Authentication

    Hello
    I have build a web service client using SAAJ, the Web services is deployed on MS IIS. Every thing seems to work fine, The problem appears when I apply directory security on the Web Service Directory. When I apply Basic authentication SAAJ manages to send the user name and password and it goes fine, but when I apply Integrated Windows Authentication, I always get a response Access is Denied.
    I know we can authenticate the user credentials from NTLM from JAAS but here I am using a web services client.
    My Question is How can we pass the user credentials through a web service client to the IIS when the directory security is Windows Integrated Authentication?
    Any work around or the solution will be appreciated.
    Thanks :-)
    Syed Saulat

    Hi Gilles,
    Thank you very much for your answer. Actually, I think the problem is a little bit different. The kerberos server is not delivering a "grant" ticket to the client for the service provided by the VIP, because the CSS didn't register to the Active Directory, as a normal W2K web server would. The first thing the client does when he wants to access a web server behind the CSS is to ask the kerberos server for a "gtanting" ticket for that service. So the problem arise before the client sends any packet to the CSS (therefore I think it is more a Microsoft problem rather than a CSS problem).
    But for sure, other people have this environment I suppose...
    What is your opinion on this ?
    Yves

  • 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.

  • 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

  • Web service client and SSL Certificate

    Hello, everyone,
    I have a problem that has really stumped me.
    I've written a web service client for a web service that has a digital certificate. This comes in the form of a .pfx file.
    When I try send a request to the web service, I get the following:
    AxisFault
    faultCode: {http://schemas.xmlsoap.org/soap/envelope/}Server.userException
    faultSubcode:
    faultString: 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
    faultActor:
    faultNode:
    faultDetail:
         {http://xml.apache.org/axis/}stackTrace: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.net.ssl.internal.ssl.Alerts.getSSLException(Unknown Source)
         at com.sun.net.ssl.internal.ssl.SSLSocketImpl.fatal(Unknown Source)
         at com.sun.net.ssl.internal.ssl.Handshaker.fatalSE(Unknown Source)
         at com.sun.net.ssl.internal.ssl.Handshaker.fatalSE(Unknown Source)
         at com.sun.net.ssl.internal.ssl.ClientHandshaker.serverCertificate(Unknown Source)
         at com.sun.net.ssl.internal.ssl.ClientHandshaker.processMessage(Unknown Source)
         at com.sun.net.ssl.internal.ssl.Handshaker.processLoop(Unknown Source)
         at com.sun.net.ssl.internal.ssl.Handshaker.process_record(Unknown Source)
         at com.sun.net.ssl.internal.ssl.SSLSocketImpl.readRecord(Unknown Source)
         at com.sun.net.ssl.internal.ssl.SSLSocketImpl.performInitialHandshake(Unknown Source)
         at com.sun.net.ssl.internal.ssl.SSLSocketImpl.startHandshake(Unknown Source)
         at com.sun.net.ssl.internal.ssl.SSLSocketImpl.startHandshake(Unknown Source)
         at org.apache.axis.components.net.JSSESocketFactory.create(JSSESocketFactory.java:186)
         at org.apache.axis.transport.http.HTTPSender.getSocket(HTTPSender.java:191)
         at org.apache.axis.transport.http.HTTPSender.writeToSocket(HTTPSender.java:404)
         at org.apache.axis.transport.http.HTTPSender.invoke(HTTPSender.java:138)
         at org.apache.axis.strategies.InvocationStrategy.visit(InvocationStrategy.java:32)
         at org.apache.axis.SimpleChain.doVisiting(SimpleChain.java:118)
         at org.apache.axis.SimpleChain.invoke(SimpleChain.java:83)
         at org.apache.axis.client.AxisClient.invoke(AxisClient.java:165)
         at org.apache.axis.client.Call.invokeEngine(Call.java:2784)
         at org.apache.axis.client.Call.invoke(Call.java:2767)
         at org.apache.axis.client.Call.invoke(Call.java:2443)
         at org.apache.axis.client.Call.invoke(Call.java:2366)
         at org.apache.axis.client.Call.invoke(Call.java:1812)
         at org.tempuri.BasicHttpBinding_IExternalServiceStub.submitAchievementBatchJob(BasicHttpBinding_IExternalServiceStub.java:531)
         at uk.gov.qcf.lrs.api.services.IExternalServiceProxy.submitAchievementBatchJob(IExternalServiceProxy.java:56)
         at uk.org.aqa.main.Main.main(Main.java:111)
    Caused by: sun.security.validator.ValidatorException: PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target
         at sun.security.validator.PKIXValidator.doBuild(Unknown Source)
         at sun.security.validator.PKIXValidator.engineValidate(Unknown Source)
         at sun.security.validator.Validator.validate(Unknown Source)
         at com.sun.net.ssl.internal.ssl.X509TrustManagerImpl.validate(Unknown Source)
         at com.sun.net.ssl.internal.ssl.X509TrustManagerImpl.checkServerTrusted(Unknown Source)
         at com.sun.net.ssl.internal.ssl.X509TrustManagerImpl.checkServerTrusted(Unknown Source)
         ... 24 more
    Caused by: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target
         at sun.security.provider.certpath.SunCertPathBuilder.engineBuild(Unknown Source)
         at java.security.cert.CertPathBuilder.build(Unknown Source)
         ... 30 more
         {http://xml.apache.org/axis/}hostname:WM8-319
    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 org.apache.axis.AxisFault.makeFault(AxisFault.java:101)
         at org.apache.axis.transport.http.HTTPSender.invoke(HTTPSender.java:154)
         at org.apache.axis.strategies.InvocationStrategy.visit(InvocationStrategy.java:32)
         at org.apache.axis.SimpleChain.doVisiting(SimpleChain.java:118)
         at org.apache.axis.SimpleChain.invoke(SimpleChain.java:83)
         at org.apache.axis.client.AxisClient.invoke(AxisClient.java:165)
         at org.apache.axis.client.Call.invokeEngine(Call.java:2784)
         at org.apache.axis.client.Call.invoke(Call.java:2767)
         at org.apache.axis.client.Call.invoke(Call.java:2443)
         at org.apache.axis.client.Call.invoke(Call.java:2366)
         at org.apache.axis.client.Call.invoke(Call.java:1812)
         at org.tempuri.BasicHttpBinding_IExternalServiceStub.submitAchievementBatchJob(BasicHttpBinding_IExternalServiceStub.java:531)
         at uk.gov.qcf.lrs.api.services.IExternalServiceProxy.submitAchievementBatchJob(IExternalServiceProxy.java:56)
         at uk.org.aqa.main.Main.main(Main.java:111)
    Caused by: 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.net.ssl.internal.ssl.Alerts.getSSLException(Unknown Source)
         at com.sun.net.ssl.internal.ssl.SSLSocketImpl.fatal(Unknown Source)
         at com.sun.net.ssl.internal.ssl.Handshaker.fatalSE(Unknown Source)
         at com.sun.net.ssl.internal.ssl.Handshaker.fatalSE(Unknown Source)
         at com.sun.net.ssl.internal.ssl.ClientHandshaker.serverCertificate(Unknown Source)
         at com.sun.net.ssl.internal.ssl.ClientHandshaker.processMessage(Unknown Source)
         at com.sun.net.ssl.internal.ssl.Handshaker.processLoop(Unknown Source)
         at com.sun.net.ssl.internal.ssl.Handshaker.process_record(Unknown Source)
         at com.sun.net.ssl.internal.ssl.SSLSocketImpl.readRecord(Unknown Source)
         at com.sun.net.ssl.internal.ssl.SSLSocketImpl.performInitialHandshake(Unknown Source)
         at com.sun.net.ssl.internal.ssl.SSLSocketImpl.startHandshake(Unknown Source)
         at com.sun.net.ssl.internal.ssl.SSLSocketImpl.startHandshake(Unknown Source)
         at org.apache.axis.components.net.JSSESocketFactory.create(JSSESocketFactory.java:186)
         at org.apache.axis.transport.http.HTTPSender.getSocket(HTTPSender.java:191)
         at org.apache.axis.transport.http.HTTPSender.writeToSocket(HTTPSender.java:404)
         at org.apache.axis.transport.http.HTTPSender.invoke(HTTPSender.java:138)
         ... 12 more
    Caused by: sun.security.validator.ValidatorException: PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target
         at sun.security.validator.PKIXValidator.doBuild(Unknown Source)
         at sun.security.validator.PKIXValidator.engineValidate(Unknown Source)
         at sun.security.validator.Validator.validate(Unknown Source)
         at com.sun.net.ssl.internal.ssl.X509TrustManagerImpl.validate(Unknown Source)
         at com.sun.net.ssl.internal.ssl.X509TrustManagerImpl.checkServerTrusted(Unknown Source)
         at com.sun.net.ssl.internal.ssl.X509TrustManagerImpl.checkServerTrusted(Unknown Source)
         ... 24 more
    Caused by: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target
         at sun.security.provider.certpath.SunCertPathBuilder.engineBuild(Unknown Source)
         at java.security.cert.CertPathBuilder.build(Unknown Source)
         ... 30 moreI've looked onliine to try to solve this issue, and it seemed that the answer was the add the certificate to the keystore. I had a lot of issues doing this, due to the certificate being a .pfx file. However, using the following, I was able to do it:
    keytool -importkeystore -srckeystore "sandpit.pfx" -destkeystore "%JAVA_HOME2%\lib\security\cacerts" -srcstoretype pkcs12 -deststoretype jks -srcstorepass password -deststorepass anotherpassword -vHowever, I am still getting the same error. This may be because this isn't the keystore used, but it is located in the area marked as being used in the build path.
    I then looked further, and found that I may need to add:
    System.setProperty("javax.net.ssl.trustStore","myKeystore");
    System.setProperty("javax.net.ssl.trustStorePassword","myPassword");altering where appropriate. But this didn't work, and I'm thinking that this would involve a lot more code than just those two lines.
    I'm just not sure what to do, and am hoping someone can help. I didn't think it would be too big an issue to ensure my program used the certificate, but it seems to be. I thought that once it was added to the keystore, that would be it, but it appears not.
    I'm sure this isn't a rare issue, but I just lack the knowledge to make any headway. Please can someone help or point me in the right direction?
    Thank you very much in advance.
    Robin

    Sorry to bother you again with my request but I would appreciate some help with my problems.
    Nobody his using some web services who requires protection ?
    Thanks a lot.

  • OC4J web service client and Spring

    Hello!
    I'm trying to use the Web Service client mechanism of Spring 1.2.6 in conjunction with OC4J by subclassing org.springframework.remoting.jaxrpc.JaxRpcPortProxyFactoryBean and using generated classes from soap-ui.
    Problem is that I keep getting errors like this when starting the (embedded) OC4J:
    org.springframework.beans.FatalBeanException: Could not instantiate class [at.sozvers.bva.shared.util.CommaSeparatedClassPathContext]; constructor threw exception; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'zpvPartnerAdresseWebService' defined in class path resource [onlineContext.xml]: Initialization of bean failed; nested exception is oracle.j2ee.ws.client.ServiceExceptionImpl: service: {http://oasdev1.bva.sozvers.at:8192/zpvPartnerAdresse/}PartnerAdresse does not contain port: {http://oasdev1.bva.sozvers.at:8192/zpvPartnerAdresse/}PartnerAdresse
    The WSDL:
    <?xml version="1.0" encoding="UTF-8"?><wsdl:definitions xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" xmlns:ns1="http://service.zpv.esb.bva.sozvers.at" xmlns:ns2="http://error.shared.bva.sozvers.at" xmlns:ns3="http://dto.zpv.esb.bva.sozvers.at" xmlns:soap11="http://schemas.xmlsoap.org/soap/envelope/" xmlns:soap12="http://www.w3.org/2003/05/soap-envelope" xmlns:soapenc11="http://schemas.xmlsoap.org/soap/encoding/" xmlns:soapenc12="http://www.w3.org/2003/05/soap-encoding" xmlns:tns="http://service.zpv.esb.bva.sozvers.at/" xmlns:wsdlsoap="http://schemas.xmlsoap.org/wsdl/soap12/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" targetNamespace="http://service.zpv.esb.bva.sozvers.at/">
    <wsdl:types>
    <xsd:schema attributeFormDefault="qualified" elementFormDefault="qualified" targetNamespace="http://service.zpv.esb.bva.sozvers.at/" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
    <xsd:element name="lesen">
    <xsd:complexType>
    <xsd:sequence>
    <xsd:element maxOccurs="1" minOccurs="1" name="in0" nillable="true" type="ns1:PartnerAdresseServiceRequest"/>
    </xsd:sequence>
    </xsd:complexType>
    </xsd:element>
    <xsd:element name="lesenResponse">
    <xsd:complexType>
    <xsd:sequence>
    <xsd:element maxOccurs="1" minOccurs="1" name="out" nillable="true" type="ns3:ZPVPartnerAdresseDTO"/>
    </xsd:sequence>
    </xsd:complexType>
    </xsd:element>
    <xsd:element name="schreiben">
    <xsd:complexType>
    <xsd:sequence>
    <xsd:element maxOccurs="1" minOccurs="1" name="in0" nillable="true" type="xsd:string"/>
    <xsd:element maxOccurs="1" minOccurs="1" name="in1" nillable="true" type="ns1:PartnerAdresseServiceRequest"/>
    <xsd:element maxOccurs="1" minOccurs="1" name="in2" nillable="true" type="ns3:ArrayOfZPVAdresseDTO"/>
    </xsd:sequence>
    </xsd:complexType>
    </xsd:element>
    <xsd:element name="schreibenResponse">
    <xsd:complexType>
    <xsd:sequence>
    <xsd:element maxOccurs="1" minOccurs="1" name="out" nillable="true" type="ns3:ZPVResponseDTO"/>
    </xsd:sequence>
    </xsd:complexType>
    </xsd:element>
    </xsd:schema>
    <xsd:schema attributeFormDefault="qualified" elementFormDefault="qualified" targetNamespace="http://service.zpv.esb.bva.sozvers.at" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
    <xsd:complexType name="PartnerAdresseServiceRequest">
    <xsd:sequence>
    <xsd:element minOccurs="0" name="bisDat" type="xsd:dateTime"/>
    <xsd:element minOccurs="0" name="bkFachschluessel" nillable="true" type="xsd:string"/>
    <xsd:element minOccurs="0" name="bkInput" nillable="true" type="xsd:string"/>
    <xsd:element minOccurs="0" name="vonDat" type="xsd:dateTime"/>
    </xsd:sequence>
    </xsd:complexType>
    </xsd:schema>
    <xsd:schema attributeFormDefault="qualified" elementFormDefault="qualified" targetNamespace="http://dto.zpv.esb.bva.sozvers.at" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
    <xsd:complexType name="ZPVPartnerAdresseDTO">
    <xsd:sequence>
    <xsd:element minOccurs="0" name="exceptionDTO" nillable="true" type="ns2:ExceptionDTO"/>
    <xsd:element minOccurs="0" name="responseDto" nillable="true" type="ns3:ZPVResponseDTO"/>
    <xsd:element minOccurs="0" name="zpvAdresseDTOs" nillable="true" type="ns3:ArrayOfZPVAdresseDTO"/>
    <xsd:element minOccurs="0" name="zpvPartnerStammdatenDTO" nillable="true" type="ns3:ZPVPartnerStammdatenDTO"/>
    </xsd:sequence>
    </xsd:complexType>
    <xsd:complexType name="ZPVResponseDTO">
    <xsd:sequence>
    <xsd:element minOccurs="0" name="exceptionDTO" nillable="true" type="ns2:ExceptionDTO"/>
    <xsd:element minOccurs="0" name="fehlerJN" nillable="true" type="xsd:boolean"/>
    <xsd:element minOccurs="0" name="zpvFehlerId" nillable="true" type="xsd:string"/>
    <xsd:element minOccurs="0" name="zpvMeldungstext" nillable="true" type="xsd:string"/>
    </xsd:sequence>
    </xsd:complexType>
    <xsd:complexType name="ArrayOfZPVAdresseDTO">
    <xsd:sequence>
    <xsd:element maxOccurs="unbounded" minOccurs="0" name="ZPVAdresseDTO" nillable="true" type="ns3:ZPVAdresseDTO"/>
    </xsd:sequence>
    </xsd:complexType>
    <xsd:complexType name="ZPVAdresseDTO">
    <xsd:sequence>
    <xsd:element minOccurs="0" name="abgabestelle" nillable="true" type="xsd:string"/>
    <xsd:element minOccurs="0" name="adresstyp" nillable="true" type="xsd:string"/>
    <xsd:element minOccurs="0" name="anschriftzusatz" nillable="true" type="xsd:string"/>
    <xsd:element minOccurs="0" name="beginn" type="xsd:dateTime"/>
    <xsd:element minOccurs="0" name="beharrungsadresse" nillable="true" type="xsd:boolean"/>
    <xsd:element minOccurs="0" name="bundeslandKennzeichen" nillable="true" type="xsd:string"/>
    <xsd:element minOccurs="0" name="ende" type="xsd:dateTime"/>
    <xsd:element minOccurs="0" name="exceptionDTO" nillable="true" type="ns2:ExceptionDTO"/>
    <xsd:element minOccurs="0" name="gebrauchKurz" nillable="true" type="xsd:string"/>
    <xsd:element minOccurs="0" name="hausnummer" nillable="true" type="xsd:string"/>
    <xsd:element minOccurs="0" name="ort" nillable="true" type="xsd:string"/>
    <xsd:element minOccurs="0" name="plz" nillable="true" type="xsd:string"/>
    <xsd:element minOccurs="0" name="postfach" nillable="true" type="xsd:string"/>
    <xsd:element minOccurs="0" name="staatkennzeichen" nillable="true" type="xsd:string"/>
    <xsd:element minOccurs="0" name="staatname" nillable="true" type="xsd:string"/>
    <xsd:element minOccurs="0" name="stocktuernummer" nillable="true" type="xsd:string"/>
    <xsd:element minOccurs="0" name="strasse" nillable="true" type="xsd:string"/>
    <xsd:element minOccurs="0" name="updatecount" nillable="true" type="xsd:int"/>
    <xsd:element minOccurs="0" name="verwendungsartKurz" nillable="true" type="xsd:string"/>
    <xsd:element minOccurs="0" name="zpvAevnummer" nillable="true" type="xsd:long"/>
    </xsd:sequence>
    </xsd:complexType>
    <xsd:complexType name="ZPVPartnerStammdatenDTO">
    <xsd:sequence>
    <xsd:element minOccurs="0" name="angehoeriger" type="xsd:boolean"/>
    <xsd:element minOccurs="0" name="bkFachschluesselAngabe" nillable="true" type="xsd:string"/>
    <xsd:element minOccurs="0" name="exceptionDTO" nillable="true" type="ns2:ExceptionDTO"/>
    <xsd:element minOccurs="0" name="familienname" nillable="true" type="xsd:string"/>
    <xsd:element minOccurs="0" name="familiennameDiakritisch" nillable="true" type="xsd:string"/>
    <xsd:element minOccurs="0" name="geburtsDAT" type="xsd:dateTime"/>
    <xsd:element minOccurs="0" name="geschlechtKZ" nillable="true" type="xsd:string"/>
    <xsd:element minOccurs="0" name="isoa3Staatsbuergerschaft" nillable="true" type="xsd:string"/>
    <xsd:element minOccurs="0" name="landesstellenKennzeichen" nillable="true" type="xsd:int"/>
    <xsd:element minOccurs="0" name="namensergaenzung" nillable="true" type="xsd:string"/>
    <xsd:element minOccurs="0" name="namenskorrektur" type="xsd:boolean"/>
    <xsd:element minOccurs="0" name="staatsbuergerschaftSonderformKZ" nillable="true" type="xsd:string"/>
    <xsd:element minOccurs="0" name="stornoJN" nillable="true" type="xsd:string"/>
    <xsd:element minOccurs="0" name="titelHintenKurz" nillable="true" type="xsd:string"/>
    <xsd:element minOccurs="0" name="titelVorneKurz" nillable="true" type="xsd:string"/>
    <xsd:element minOccurs="0" name="todesDAT" type="xsd:dateTime"/>
    <xsd:element minOccurs="0" name="updatecount" nillable="true" type="xsd:int"/>
    <xsd:element minOccurs="0" name="versicherter" type="xsd:boolean"/>
    <xsd:element minOccurs="0" name="vorname" nillable="true" type="xsd:string"/>
    <xsd:element minOccurs="0" name="vornameDiakritisch" nillable="true" type="xsd:string"/>
    </xsd:sequence>
    </xsd:complexType>
    </xsd:schema>
    <xsd:schema attributeFormDefault="qualified" elementFormDefault="qualified" targetNamespace="http://error.shared.bva.sozvers.at" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
    <xsd:complexType name="ExceptionDTO"/>
    </xsd:schema>
    </wsdl:types>
    <wsdl:message name="schreibenResponse">
    <wsdl:part element="tns:schreibenResponse" name="parameters">
    </wsdl:part>
    </wsdl:message>
    <wsdl:message name="lesenRequest">
    <wsdl:part element="tns:lesen" name="parameters">
    </wsdl:part>
    </wsdl:message>
    <wsdl:message name="lesenResponse">
    <wsdl:part element="tns:lesenResponse" name="parameters">
    </wsdl:part>
    </wsdl:message>
    <wsdl:message name="schreibenRequest">
    <wsdl:part element="tns:schreiben" name="parameters">
    </wsdl:part>
    </wsdl:message>
    <wsdl:portType name="PartnerAdresseServicePortType">
    <wsdl:operation name="lesen">
    <wsdl:input message="tns:lesenRequest" name="lesenRequest">
    </wsdl:input>
    <wsdl:output message="tns:lesenResponse" name="lesenResponse">
    </wsdl:output>
    </wsdl:operation>
    <wsdl:operation name="schreiben">
    <wsdl:input message="tns:schreibenRequest" name="schreibenRequest">
    </wsdl:input>
    <wsdl:output message="tns:schreibenResponse" name="schreibenResponse">
    </wsdl:output>
    </wsdl:operation>
    </wsdl:portType>
    <wsdl:binding name="zpvPartnerAdresseBinding" type="tns:PartnerAdresseServicePortType">
    <wsdlsoap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
    <wsdl:operation name="lesen">
    <wsdlsoap:operation soapAction=""/>
    <wsdl:input name="lesenRequest">
    <wsdlsoap:body use="literal"/>
    </wsdl:input>
    <wsdl:output name="lesenResponse">
    <wsdlsoap:body use="literal"/>
    </wsdl:output>
    </wsdl:operation>
    <wsdl:operation name="schreiben">
    <wsdlsoap:operation soapAction=""/>
    <wsdl:input name="schreibenRequest">
    <wsdlsoap:body use="literal"/>
    </wsdl:input>
    <wsdl:output name="schreibenResponse">
    <wsdlsoap:body use="literal"/>
    </wsdl:output>
    </wsdl:operation>
    </wsdl:binding>
    <wsdl:service name="PartnerAdresse">
    <wsdl:port binding="tns:zpvPartnerAdresseBinding" name="zpvPartnerAdresse">
    <wsdlsoap:address location="http://0.0.0.0:8192/zpvPartnerAdresse/"/>
    </wsdl:port>
    </wsdl:service>
    </wsdl:definitions>
    The Spring configuration of the WS- bean:
    <bean id="zpvPartnerAdresseWebService" class="at.sozvers.bva.panda.m02.service.PartnerAdresseProxyFactoryBean">
    <property name="serviceInterface">
    <value>at.sozvers.bva.panda.m02.service.RemotePartnerAdresseBean</value>
    </property>
    <property name="wsdlDocumentUrl">
    <value>http://oasdev1.bva.sozvers.at:8192/zpvPartnerAdresse/main.wsdl</value>
    </property>
    <property name="namespaceUri">
    <value>http://oasdev1.bva.sozvers.at:8192/zpvPartnerAdresse/</value>
    </property>
    <property name="serviceName">
    <value>PartnerAdresse</value>
    </property>
    <property name="portName">
    <value>PartnerAdresse</value>
    </property>
    </bean>
    Does anyone have ideas or experience using Spring 1.2.6 for web service clients with oc4j 10.1.3 ?
    Thank you in advance
    Stefan

    I also tried to use "zpvPartnerAdresse" as portName, but this didn't change anything.
    Stefan

  • WSDL Web Services Client and EAR deploy problem

    Hi!
    I have allready posted this on "Web AS General", with no result.
    So I hope this forum is a better choise.
    Environment:
    SAP EP / SAP NW04 / SPS14
    NW DevStudio
    I just deployed an ear file (first time ...) with SDM.
    The ear file represents an auto generated web services client on basis of a WSDL file.
    (done from web services perspective in NWDS choosing "New Deployable Proxy Project")
    When running a test I get the following error:
    "Could not find portal application Unknown provider of external application: J2EE::sap.com/NWTPINWSClient"
    .. where NWTPINWSClient is the name of the EAR - file
    The test code contains this:
    The portalapp.xml has the following tag:
    <application-config>
    <property name="SharingReference" value="J2EE::sap.com/NWTPINWSClient">
    </property>
    </application-config>
    I'm new to this, so please feel free to consider newbie misstakes.
    BRGRDS
    Peter M

    Can you/anybody post solution. I have the same problem.
    Thanks
    Srinivas

  • JAX-RPC Web services client error

    Hi!
    I use Jdevelop 10g 9.0.5.2 with JAX-RPC extension and OC4J 10.1.3.
    I can develop RPC/literal and document/literal Web services, but when I try to run a client program I've got this error.
    "Error: cannot access class oracle.j2ee.ws.saaj.soap.Constants; file oracle\j2ee\ws\saaj\soap\Constants.class not found"
    Could anyone tell me how to solve this problem?

    Hi,
    I am attempting the same task. With different problems.
    After creating a .war with deploytool, I try to deploy it to a OC4J that comes with JDev.
    It result in an exception saying the Servlet is not a Servlet. Wich is true.
    Do you know how to deploy this .war to an OC4J? (read IAS 9.0.3)

  • Application Server 8.2 + Axis Web Service Client +Win Server 2003 Issue

    Hi everyone,
    I'm facing a weird problem the last couples of days and I'm getting bored of banging my head against the logs/screen, so please if you could help I'd really appreciate it.
    I'm working on a Sun Application Server 8.2 project that includes an axis web service client. I am using Netbeans 5 to do the writing plus I am on a Win XP platform.
    The developers of the web service I intend to absorb were kind enough to package the client into a jar so all I have to do is to import the client and the axis related jar files (axis, axis-ant etc.) in my project and my classpath.
    Everything is working perfect on my pc but when I deploy the project on my actual server the web service client is running forever, leaving my end users with a blank browser window that is also loading forever.
    The server OS is Win Server 2003 and is directly connected to a gateway - no proxies. Also my development pc and my server are running the same jre and have the exact server police settings; but Sun's Application Server is running on port 8080 on my pc whereas on my server it's running on port 80.
    Here's my server's log:
    [#|2008-04-14T21:50:01.795+0300|SEVERE|sun-appserver-pe8.2|javax.enterprise.system.container.web|_ThreadID=14;|StandardWrapperValve[obos]: Servlet.service() for servlet obos threw exception
    AxisFault
    faultCode: {http://xml.apache.org/axis/}HTTP
    faultSubcode:
    faultString: (0)null
    faultActor:
    faultNode:
    faultDetail:
         {}:return code: 0
         {http://xml.apache.org/axis/}HttpErrorCode:0
    (0)null
         at org.apache.axis.transport.http.HTTPSender.readFromSocket(HTTPSender.java:744)
         at org.apache.axis.transport.http.HTTPSender.invoke(HTTPSender.java:144)
         at org.apache.axis.strategies.InvocationStrategy.visit(InvocationStrategy.java:32)
         at org.apache.axis.SimpleChain.doVisiting(SimpleChain.java:118)
         at org.apache.axis.SimpleChain.invoke(SimpleChain.java:83)
         at org.apache.axis.client.AxisClient.invoke(AxisClient.java:165)
         at org.apache.axis.client.Call.invokeEngine(Call.java:2784)
         at org.apache.axis.client.Call.invoke(Call.java:2767)
         at org.apache.axis.client.Call.invoke(Call.java:2443)
         at org.apache.axis.client.Call.invoke(Call.java:2366)
         at org.apache.axis.client.Call.invoke(Call.java:1812)
         at uk.ac.ebi.ook.web.services.OntologyQuerySoapBindingStub.getOntologyNames(OntologyQuerySoapBindingStub.java:509)
         at org.dude.ols.client.obos.processRequest(obos.java:30)
         at org.dude.ols.client.obos.doGet(obos.java:64)
         at javax.servlet.http.HttpServlet.service(HttpServlet.java:747)
         at javax.servlet.http.HttpServlet.service(HttpServlet.java:860)
         at sun.reflect.GeneratedMethodAccessor99.invoke(Unknown Source)
         at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
         at java.lang.reflect.Method.invoke(Method.java:585)
         at org.apache.catalina.security.SecurityUtil$1.run(SecurityUtil.java:249)
         at java.security.AccessController.doPrivileged(Native Method)
         at javax.security.auth.Subject.doAsPrivileged(Subject.java:517)
         at org.apache.catalina.security.SecurityUtil.execute(SecurityUtil.java:282)
         at org.apache.catalina.security.SecurityUtil.doAsPrivilege(SecurityUtil.java:165)
         at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:257)
         at org.apache.catalina.core.ApplicationFilterChain.access$000(ApplicationFilterChain.java:55)
         at org.apache.catalina.core.ApplicationFilterChain$1.run(ApplicationFilterChain.java:161)
         at java.security.AccessController.doPrivileged(Native Method)
         at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:157)
         at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:263)
         at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:551)
         at org.apache.catalina.core.StandardContextValve.invokeInternal(StandardContextValve.java:225)
         at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:173)
         at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:551)
         at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:170)
         at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:551)
         at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:132)
         at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:551)
         at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:933)
         at org.apache.coyote.tomcat5.CoyoteAdapter.service(CoyoteAdapter.java:189)
         at com.sun.enterprise.web.connector.grizzly.ProcessorTask.doProcess(ProcessorTask.java:604)
         at com.sun.enterprise.web.connector.grizzly.ProcessorTask.process(ProcessorTask.java:475)
         at com.sun.enterprise.web.connector.grizzly.ReadTask.executeProcessorTask(ReadTask.java:371)
         at com.sun.enterprise.web.connector.grizzly.ReadTask.doTask(ReadTask.java:264)
         at com.sun.enterprise.web.connector.grizzly.TaskBase.run(TaskBase.java:281)
         at com.sun.enterprise.web.connector.grizzly.WorkerThread.run(WorkerThread.java:83)
    |#]
    Any ideas?

    Hi Paz,
    Thanks for taking the time :)
    To answer your questions:
    1. Has this WebServices ever worked or is this the first time?
    The web service is working perfectly fine on my working station, the problem appears only when I deploy it on my actual server, which means that the web service is working.
    2. What Apache Axis Version are you using?
    1.4
    3. What JRE version are you using?
    Both my development pc and my server run jre 1.5.0_14
    4. In the actual server environment, can you confirm all information are exactly same as DEV environment...
    Oh yes! Absolutely.
    My recent assumption is that some windows service might be needed to run the web service client and obviously I have no clue which one it might be.
    Just to make sure; is the security policy of my Application Server set correctly?
         permission java.lang.RuntimePermission     "getClassLoader";
         permission java.lang.RuntimePermission "createClassLoader";
         permission java.lang.RuntimePermission "loadLibrary.*";
         permission java.lang.RuntimePermission "queuePrintJob";
         permission java.net.SocketPermission "*", "connect,accept,resolve";
         permission java.io.FilePermission "<<ALL FILES>>", "read,write,delete";
    // work-around for pointbase bug 4864405
    permission java.io.FilePermission "${com.sun.aas.instanceRoot}${/}lib${/}databases${/}-", "delete";
    permission java.io.FilePermission "${java.io.tmpdir}${/}-", "delete";
         permission java.util.PropertyPermission "*", "read,write";
         permission java.lang.RuntimePermission     "modifyThreadGroup";
    Again thanks for taking the time :)

  • Web service client proxy thread safe?

    Is the jax-ws web service client proxy and port objects thread safe in Weblogic 10.3.4?
    Been searching through the docs but can't find any info on this.

    I have searched and it seems that with cxf it's safe to do something like this.
    Nobody knows if this is safe using metro?

  • Calling One Jax/rpc web service from another.

    We have a number of services residing in the same Oracle 10.1.3 app server container. These are deployed as Jax RPC Web Services
    I am trying to figure out what are the different options to have once web service invoke an operation on another (without directly linking to the Java code). The reason we want to keep separation as far as possible is that these services may later migrate to different app servers and in the spirit of SOA all we want to change when a service migrates is address and would like everything else to remain the same.
    So for example, if Web Service A needs to invoke an operation X in web service B,
    One way to do this seems to be to generate a proxy for web service B, include the proxy in Web Service A and then simply do B.X() from Web Service A.
    Is this is the best way to do it ?
    Are there other alternative approaches available ? Such as using the built in ESB features of Oracle App Server 10.1.3?
    Any pointers will be greatly appreciated.
    Thanks
    RR

    Hi all,
    I've managed to get this working by using the following property settings:
    System.getProperties().setProperty("http.proxyHost", "Proxy_Hostname");
    System.getProperties().setProperty("http.proxyPort", "8080");
    System.getProperties().setProperty("http.nonProxyHosts", "localhost,hostbox09");
    And solving the authentication problem using this property setting on the java cmd line:
    -Dweblogic.net.proxyAuthenticatorClassName=com.mycompany.MyProxyAuthenticator
    This class is an impl class of weblogic.common.ProxyAuthenticator interface.
    The other thing to note is that MyProxyAuthenticator needs to be in the server pre_classpath.
    Then I just call JAX-RPC or JAX-WS web service client calls as normal.
    Regards,
    Paul

  • Where should I place the web service client implementation?

    Hi,
    I created a web service client, and some java classes are automatically generated like stub, servicelocator, proxy...
    I wrote the client code to access and invoke a web service.Where should I place this code.
    Thanks.

    pls see Left outer join in Infoset

  • Problems with Web services client

    Hi all,
    I'm trying to build a Web Service Client with netbeans 6.5. I add the Web Service Refefrences by clicking right on my project/new/Web Service Client and giving it the url of the wsdl or the wsdl file itself. All work well, I use the web service without problems but then, after several successful try I don't know why, I get this kind of exception:
    Exception in thread "main" javax.xml.ws.WebServiceException: class net.stuff.webservice.webservices.Upload do not have a property of the name {www.stuff.net/WebService/WebServices}uploadReq
    I precise I don't modify the code that call the web service.
    To make it work again, I have to Clean & Build several time the project and/or Refresh tjh WebClient Reference, gain, without modifying the code.
    The Web Service producer runs on .net and doesn't seems to "move".
    Have you ever see this issue?
    Maybe this could help: I'm using JDK 5 with JAXB-WB
    Thanks

    Hello Eric:
    I have the same problem... but he Clean & Build thing didn't work :(...
    To make it work I call the Web Service from a java application and include the java application's jar in the libraries of the java web application.

  • Problem creating web service client using WSM Policies

    Hello everyone,
    I'm trying to make a simple java client to a Web Service secured using a WSM 11gR1 policy (from Soa Suite 11.1.1.2.0). The policy on the server side is oracle/wss11_x509_token_with_message_protection_service_policy which I attached via the Weblogic Admin Console. To implement the client I'm trying to follow the instructions from this documentation: http://download.oracle.com/docs/cd/E15523_01/web.1111/e13713/owsm_appendix.htm#WSSOV386 section "Policy Configuration Overrides for the Web Service Client" and also I'm using OEPE 11.1.1.3.0 (Eclipse 3.5.0) to develop the client. The only weblogic jar I've added to the build path is the weblogic.jar . Unfortunately, the oracle.wsm.security.util.SecurityConstants.ClientConstants interface (used in the example A-6) is not included in this jar and I have no idea what other libraries should I include in order to follow the example. I tried manualy adding other jars but without success. In fact I found one jar which includes this interface, the wsm-secpol.jar but it does not have the properties described in the documentation, so I guess it's not the right jar, and also I don't think this is the right procedure since there might be another dependent jars. So I would like to know what libraries exactly I should add to the build path (or some other procedure if you noticed I'm doing anything wrong)
    Thank you !

    Hi
    I am having the same problem almost where i wrote a client to comsume a JWS server in https. Where the server is setup to require a certificate to connect to.
    My code:
    public static void main(String[] args) {
    try {
    DataBaseSyncServerImpl port = new DataBaseSyncServerImplService().getDataBaseSyncServerImplPort();
    int number1 = 20;
    int number2 = 10;
    System.out.printf("Invoking divide method(%d, %d)\n", number1, number2);
    double result = port.divide(number1, number2);
    System.out.printf("The result of dividing %d and %d is %f.\n\n", number1, number2, result);
    when run this code throw
    run:
    [java] Invoking divide method(20, 10)
    [java] Exception in thread "main" javax.xml.ws.WebServiceException: HTTP transport error: javax.net.ssl.SSLHandshak
    eException: sun.security.validator.ValidatorException: PKIX path building failed: sun.security.provider.certpath.SunCert
    PathBuilderException: unable to find valid certification path to requested target
    Does any one know how can I solve this problem or how can I make the client be able to use self signed certificates. Any help is greatly apprecited. Thanks

  • Creating And Deploying A JWSDP Web Service Client to Weblogic 8.1

    This setup produces an EAR containing a message driven bean in a jar file. When the MDB receives a message
    it checks to see if there is any data in a database table and if so calls the web service with that data. These instructions
    are for MS-Windows environments.
    In my setup I have:
    the weblogic domain at c:\b2b80
    the jwsdp at c:\apps\jwsdp-1.3
    extra jar files for the app server in c:\b2b80\lib
    the main weblogic installation at c:\apps\weblogic810\
    1> Download the the JWSDP version you wish to use and install it. (In this example I'm using 1.3)
    2> Create a project structure for you client like this:
         /project
              /earbuild
                   /META-INF
              /ejbbuild
                   /META-INF
              /ejbsource
              /wssource
    3> in the /project directory you will need a build.xml file that looks something like this: (the ant build targets are described at the end of this document)
    ==============================================================
    <?xml version="1.0"?>
    <project name="svcowner" default="buildall" basedir=".">
         <property file="classpath.settings"/>
         <property name="wssource" value="wssource"/>
         <property name="ejbsource" value="ejbsource"/>
         <property name="compileejbdest" value="ejbbuild"/>
         <property name="earbuilddest" value="earbuild"/>
         <property name="jarfilename" value="svcownerejb.jar"/>
         <property name="earfilename" value="svcowner.ear"/>
         <property name="debug" value="true"/>
         <property name="deprecation" value="true"/>
         <!-- this runs the create.bat which has all of the wscompile parameters -->
         <target name="cmdline_wscompile">
              <exec executable="wssource/create.bat"/>
         </target>
         <target name="compileejb" depends="cmdline_wscompile">
              <javac debug="${debug}" srcdir="${wssource}" classpath="${BUILD_CLASSPATH}"
                   destdir="${compileejbdest}" includes="**/*.java" deprecation="${deprecation}"/>
              <javac debug="${debug}" srcdir="${ejbsource}" classpath="${BUILD_CLASSPATH}"
                   destdir="${compileejbdest}" includes="**/*.java" deprecation="${deprecation}"/>
         </target>
         <target name="buildejbjar" depends="compileejb">
              <jar jarfile="${earbuilddest}/${jarfilename}" manifest="${compileejbdest}/META-INF/MANIFEST.txt">
                   <fileset dir="${compileejbdest}">
                        <include name="**/*.*"/>
                   </fileset>
              </jar>
         </target>
         <target name="buildear" depends="buildejbjar">
              <jar jarfile="${earfilename}">
                   <fileset dir="${earbuilddest}">
                        <include name="**/*.*"/>
                   </fileset>
              </jar>
         </target>
         <target name="deploy">
              <copy file="${earfilename}" todir="../../config/domain/applications"/>
         </target>
         <target name="buildall" description="build everything" depends="buildear, deploy">
         </target>
    </project>
    ==============================================================
    4> You need a matching classpath.settings file in the same directory, something like this:
    ==============================================================
    BUILD_CLASSPATH=/b2b80/lib/saaj-impl.jar;/b2b80/lib/saaj-api.jar;/b2b80/lib/jaxrpc-api.jar;/b2b80/lib/jaxrpc-impl.jar;c:/b2b80/lib/jaxrpc-spi.jar/b2b80/classes/;/b2b80/classes;/apps/weblogic810/server/lib/weblogic.jar;/apps/weblogic810/server/lib/weblogic_sp.jar;/apps/weblogic810/server/lib/xmlx.jar;/apps/weblogic810/server/ext/weblogic-tags.jar;/apps/weblogic810/server/ext/jdbc/oracle/920/ojdbc14_g.jar;/b2b80/lib/log4j.jar
    ==============================================================
    5> In the /project/earbuild/META-INF directory you need an application.xml file:
    ==============================================================
    <?xml version="1.0" encoding="ISO-8859-1"?>
    <!DOCTYPE application PUBLIC '-//Sun Microsystems, Inc.//DTD J2EE Application 1.2//EN' 'http://java.sun.com/j2ee/dtds/application_1_2.dtd'>
    <application>
    <display-name>svcownerb2b</display-name>
    <description>Application description</description>
    <module>
    <ejb>svcownerejb.jar</ejb>
    </module>
    </application>
    ==============================================================
    6> The /project/ejbsource directory contains the source for the client application. In my case this is a message driven bean (note that code below isn't complete). The most important part of the code below is the setting of the javax.xml.soap.MessageFactory system property.
    System.getProperties().put("javax.xml.soap.MessageFactory","com.sun.xml.messaging.saaj.soap.ver1_1.SOAPMessageFactory1_1Impl");
    If you don't do this a weblogic class will be used and the code will fail.
    ==============================================================
    package com.svcclient.ejb.svcownershipment;
    import java.text.*;
    import java.io.*;
    import java.sql.*;
    import java.util.Properties;
    import javax.ejb.*;
    import javax.jms.*;
    import javax.naming.*;
    import javax.sql.DataSource;
    import com.svcclient.util.*;
    import org.w3c.dom.*;
    import com.svcclient.websvc.svcowner.*;
    import javax.xml.rpc.Stub;
    public class SvcOwnerShipmentSubscriberMDB implements MessageDrivenBean, MessageListener
    private transient MessageDrivenContext mdc = null;
    private static Context context;
    private final static String CLASSNAME = "SvcOwnerShipmentSubscriberMDB";
    private String DATASOURCE_JNDI = "svcclient.b2b";
    private static DataSource mDS = null;
    private SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd");
    public SvcOwnerShipmentSubscriberMDB()
    System.getProperties().put("javax.xml.soap.MessageFactory","com.sun.xml.messaging.saaj.soap.ver1_1.SOAPMessageFactory1_1Impl");
    try
    if (context == null)
    context = new InitialContext() ;
    if (mDS == null)
    mDS = (DataSource)context.lookup(DATASOURCE_JNDI);
    catch (NamingException ex)
    ex.printStackTrace();
    catch(Exception ex)
    ex.printStackTrace();
    public void onMessage(javax.jms.Message message)
    TextMessage msg = null;
    String ordernumber = null;
    String lineid = null;
    try
    if (message instanceof TextMessage)
    msg = (TextMessage) message;
    ordernumber = msg.getStringProperty("ordernumber");
                   // the JMS message contains a property that is an order number
    createAndSendXML(ordernumber);
    catch (Throwable ex)
    ex.printStackTrace();
    private void createAndSendXML(String ordernumber)
    if(ordernumber==null)
    return;
    PreparedStatement statement = null;
    ResultSet rset = null;
    java.sql.Connection conn = null;
    try
    conn = DBHelper.getConnection(mDS,"SvcOwnerShipmentSubscriberMDB.createAndSendXML");
    statement = conn.prepareStatement("select * from ..."); // you SQL here
    statement.setString(1,ordernumber);
    rset = statement.executeQuery();
    StringBuffer data = new StringBuffer();
    data.append("<? version=\"1.0\"?>\n");
    data.append("<shippingRequest>\n");
    while(rset.next())
    data.append("\t<order_date>"+dateFormat.format(new java.util.Date(rset.getTimestamp("SCHEDULE_SHIP_DATE").getDate()))+"</order_date>\n");
    data.append("\t<brand_name>svcclient</brand_name>\n");
    data.append("\t<shipRequestType>Sale</shipRequestType>\n");
    data.append("</shippingRequest>\n");
              // call the web service with the data from the database
    DataExchanger_Impl impl = new DataExchanger_Impl();
    Stub stub = (Stub)(impl.getDataExchangerSoap());
    DataExchangerSoap dx = (DataExchangerSoap)stub;
    String resp = dx.exchangeData("svcclient", "mypassword", "Sales", data.toString());
    catch(SQLException sqle)
    sqle.printStackTrace();
    catch(Exception e)
    e.printStackTrace();
    finally
    try
    if (rset != null)
    rset.close();
    if (statement != null)
    statement.close();
    if (conn != null)
    conn.close();
    catch(Exception x){}
    public void ejbCreate() { System.out.println("In SvcOwnerShipmentSubscriberMDB.ejbCreate()"); }
    public void setMessageDrivenContext(MessageDrivenContext mdc) { this.mdc = mdc; }
    public void ejbRemove() throws javax.ejb.EJBException { System.out.println("In SvcOwnerShipmentSubscriberMDB.remove()"); }
    ==============================================================
    7> The /project/ejbbuild/META-INF directory needs a MANIFEST.txt file.
    Manifest-Version: 1.0
    8> The /project/ejbbuild/META-INF directory needs a ejb-jar.xml file. This just sets up the MDB which is the client.
    ==============================================================
    <?xml version="1.0" encoding="UTF-8"?>
    <!DOCTYPE ejb-jar PUBLIC '-//Sun Microsystems, Inc.//DTD Enterprise JavaBeans 2.0//EN' 'http://java.sun.com/dtd/ejb-jar_2_0.dtd'>
    <ejb-jar>
    <display-name>SvcOwnerShipmentSubscriberMDB</display-name>
    <enterprise-beans>
    <message-driven>
    <display-name>SvcOwnerShipmentSubscriberMDB</display-name>
    <ejb-name>SvcOwnerShipmentSubscriberMDB</ejb-name>
    <ejb-class>com.svcclient.ejb.svcownershipment.SvcOwnerShipmentSubscriberMDB</ejb-class>
    <transaction-type>Container</transaction-type>
    <message-driven-destination>
    <destination-type>javax.jms.Topic</destination-type>
    <subscription-durability>NonDurable</subscription-durability>
    </message-driven-destination>
    </message-driven>
    </enterprise-beans>
    <assembly-descriptor>
    <container-transaction>
    <method>
    <ejb-name>SvcOwnerShipmentSubscriberMDB</ejb-name>
    <method-name>onMessage</method-name>
    <method-params>
    <method-param>javax.jms.Message</method-param>
    </method-params>
    </method>
    <trans-attribute>NotSupported</trans-attribute>
    </container-transaction>
    </assembly-descriptor>
    </ejb-jar>
    ==============================================================
    9> The /project/ejbbuild/META-INF directory needs a weblogic-ejb-jar.xml file.
    ==============================================================
    <?xml version="1.0"?>
    <!DOCTYPE weblogic-ejb-jar PUBLIC "-//BEA Systems, Inc.//DTD WebLogic 6.0.0 EJB//EN" "http://www.bea.com/servers/wls600/dtd/weblogic-ejb-jar.dtd">
    <weblogic-ejb-jar>
    <weblogic-enterprise-bean>
    <ejb-name>SvcOwnerShipmentSubscriberMDB</ejb-name>
    <message-driven-descriptor>
    <pool>
    <max-beans-in-free-pool>5</max-beans-in-free-pool>
    <initial-beans-in-free-pool>1</initial-beans-in-free-pool>
    </pool>
    <!-- JNDI Name of the Topic that the SvcOwnerShipmentSubscriberMDB listens for messages on -->
    <destination-jndi-name>jms.svcownerShipmentsTopic</destination-jndi-name>
    </message-driven-descriptor>
    </weblogic-enterprise-bean>
    </weblogic-ejb-jar>
    ==============================================================
    10> The /project/wssource directory needs a dataexchange.wsdl file. This is the WSDL describing the web service
    we want to connect to with our client.
    ==============================================================
    <?xml version="1.0" encoding="utf-8"?>
    <wsdl:definitions
    xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"
    xmlns:tm="http://microsoft.com/wsdl/mime/textMatching/"
    xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/"
    xmlns:mime="http://schemas.xmlsoap.org/wsdl/mime/"
    xmlns:tns="https://www.svcowner.com/mfg/DataExchange/"
    xmlns:s="http://www.w3.org/2001/XMLSchema"
    xmlns:soap12="http://schemas.xmlsoap.org/wsdl/soap12/"
    xmlns:http="http://schemas.xmlsoap.org/wsdl/http/"
    targetNamespace="https://www.svcowner.com/mfg/DataExchange/"
    xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"
    name="">
    <wsdl:types>
    <s:schema elementFormDefault="qualified"
    targetNamespace="https://www.svcowner.com/mfg/DataExchange/">
    <s:element name="exchangeData">
    <s:complexType>
    <s:sequence>
    <s:element minOccurs="0" maxOccurs="1" name="sender" type="s:string" />
    <s:element minOccurs="0" maxOccurs="1" name="password" type="s:string" />
    <s:element minOccurs="0" maxOccurs="1" name="transactionType" type="s:string" />
    <s:element minOccurs="0" maxOccurs="1" name="data" type="s:string" />
    </s:sequence>
    </s:complexType>
    </s:element>
    <s:element name="exchangeDataResponse">
    <s:complexType>
    <s:sequence>
    <s:element minOccurs="0" maxOccurs="1" name="exchangeDataResult" type="s:string" />
    </s:sequence>
    </s:complexType>
    </s:element>
    </s:schema>
    </wsdl:types>
    <wsdl:message name="exchangeDataSoapIn">
    <wsdl:part name="parameters" element="tns:exchangeData" />
    </wsdl:message>
    <wsdl:message name="exchangeDataSoapOut">
    <wsdl:part name="parameters" element="tns:exchangeDataResponse" />
    </wsdl:message>
    <wsdl:portType name="DataExchangerSoap">
    <wsdl:operation name="exchangeData">
    <wsdl:input message="tns:exchangeDataSoapIn" />
    <wsdl:output message="tns:exchangeDataSoapOut" />
    </wsdl:operation>
    </wsdl:portType>
    <wsdl:binding name="DataExchangerSoap" type="tns:DataExchangerSoap">
    <soap:binding transport="http://schemas.xmlsoap.org/soap/http" />
    <wsdl:operation name="exchangeData">
    <soap:operation soapAction="https://www.svcowner.com/mfg/DataExchange/exchangeData"
    style="document" />
    <wsdl:input>
    <soap:body use="literal" />
    </wsdl:input>
    <wsdl:output>
    <soap:body use="literal" />
    </wsdl:output>
    </wsdl:operation>
    </wsdl:binding>
    <wsdl:service name="DataExchanger">
    <wsdl:port name="DataExchangerSoap" binding="tns:DataExchangerSoap">
    <soap:address location="https://svc.svcowner.com/mfg/dataexchange.php" />
    </wsdl:port>
    </wsdl:service>
    </wsdl:definitions>
    ==============================================================
    10> The /project/wssource directory needs a websvc_config.xml file. This file tells wscompile where
    to find the WSDL file and the package name for the generated classes.
    ==============================================================
    <?xml version="1.0" encoding="UTF-8"?>
    <configuration xmlns="http://java.sun.com/xml/ns/jax-rpc/ri/config">
         <wsdl location="wssource/dataexchange.wsdl" packageName="com.svcclient.websvc.svcowner"/>
    </configuration>
    ==============================================================
    11> The /project/wssource directory needs a create.bat file. This just sets up the environment
    and calls the wscompile batch file in the JWSDP. I had to tweak the wscompile.bat file to match
    my environment as well.
    ==============================================================
    SETLOCAL
    SET WSDP=C:\apps\jwsdp-1.3\
    SET ANT_HOME=%WSDP%;apache-ant
    SET PATH=%ANT_HOME%\bin;%WSDP%jaxrpc\bin;%PATH%
    SET JAVA_HOME=c:\apps\weblogic810\jrockit81sp2_141_05
    call wscompile -gen:client -s ./wssource -keep -g -d ejbbuild wssource/websvc_config.xml
    ==============================================================
    12> The /project directory needs a build.bat file. Just a way for me to make sure my
    environment is set up right before doing the build.
    ==============================================================
    SETLOCAL
    SET ANT_HOME=c:\apps\jakarta-ant-1.4.1
    SET PATH=%ANT_HOME%\bin;%PATH%
    SET JAVA_HOME=c:\apps\weblogic810\jrockit81sp2_141_05
    call ant -buildfile build.xml %1 %2 %3 %4 %5 %6 %7 %8 %9
    ==============================================================
    13> You need to copy the following jar files from the JWSDP into a location they can be used by the
    app server during run time and also for the build process. In my set up this is c:\b2b80\lib. Note that
    these are pointed to by the file in step 4.
    c:\apps\jwsdp-1.3\jaxrpc\lib\jaxrpc-api.jar
    c:\apps\jwsdp-1.3\jaxrpc\lib\jaxrpc-impl.jar
    c:\apps\jwsdp-1.3\jaxrpc\lib\jaxrpc-spi.jar
    c:\apps\jwsdp-1.3\saaj\lib\saaj-api.jar
    c:\apps\jwsdp-1.3\saaj\lib\saaj-impl.jar
    14> You must make sure that the jar file in step 13 are at the front of the classpath for the
    weblogic server. WL comes with classes that conflict with these jars.
    15> I also had to add the root ssl certificate from the partners certificate authority to the java keystore
    using the keytool because this service uses SSL:
    C:\apps\weblogic810\jrockit81sp2_141_05\jre\bin>keytool -import -keystore ..\lib\security\cacerts -alias svcownerroot -keypass password -file c:\temp\svcownerroot.cer
    ==============================================================
    So the idea is this, you run the /project/build.bat file from within the /project directory. This
    calls ant which uses the build.xml file to create everything and copy the EAR to the weblogic deployment
    directory. The default ant target is buildall.
    The cmdline_wscompile target runs the /project/wssource/create.bat file which in turn runs the wscompile.bat
    file from the jwsdp. This causes the dataexchange.wsdl file to processed and the client files to be generated.
    The generated java files go into the /project/wssource directory. The generated class files go into the
    /project/ejbbuild directory. They need to be there so the MDB can use them.
    Next the compileejb ant target compiles the MDB java file and places the resulting class file into the
    /project/ejbbuild directory.
    Next the buildejbjar ant target takes everything in the /project/ejbbuild directory and creates the ejb jar
    file that will be included in the EAR. This file is placed in the /project/earbuild directory.
    Finally the buildear ant target takes everything in the /project/ejbbuild directory and produces the EAR
    file for deployment. The EAR file is placed in the /project directory.
    The deploy task simply copies the EAR file into the weblogic domain applications directory.

    It's really the web service that determines what kind of authentication is required. You can't just use any old strategy. If the web service isn't expecting it in that form, it won't work. Typically, either HTTP BASIC Auth or WS-Security is used. You'd have to contact the people responsible for the web service to know what kind of auth it requires.

Maybe you are looking for

  • How to add new custom tab to WZR1/2/3 at line item level

    Hi, Please explain how I can add new tab with custom fields at item level in SAP transactions WZR1/2/3. I am trying to use BADI WLF_ENHANCE_SCREEN_EX but somehow its not working. Please explain how this can be done ? Thanks Ullas

  • Transporting of scenario with BPM

    Scenario: Syncronous webservice call -> XI -> BPM (SYNC/ASYNC BRIDGE) -> Async IDOC posting Guys I have transported the above scenario into my QA system, but I am unable to execute the scenario now successfully. The adapter engine is showing - Receiv

  • IGS Graphics Rendering Problem

    Hi experts, I have the following problem with the igs: I have 2 applications with business graphics technicaly the same. Both worked fine with the same igsURL, but lately one of them is showing "Graphics Rendering Problem" Can You tell me please wher

  • How to view pictures on the computer that I took with my phone

    How do I view pictures on the computer that I have taken with my Phone?

  • With iCloud where be my music, books and Apps?

    In iTunes you can manipulate the music, Apps, Books, Ringtones, TV, Movies, and Podcasts that you want to sync to your iOS devices. In iCloud I know there is an ability to toggle The Camera Roll, and App data on and off, but there doesn't seem to be