Dynamic and embeddable web service client

Hello,
I want to write a web service client application that can run on JSE (not requiring JEE5, J2EE 1.4, an enterprise server or anything). This should be no problem with JSE6. However, I would like the client application to run on embedded devices (cell phones, PDA's etc.) as well. So I would like to know if web service clients are supported by the embedded JAVA runtimes in such devices. One additional requirement is that the webservices will only be accessible over SSL. So all clients will need support for SSL as well.
The other problem (and probably the more difficult one) is this: Using the WDSL file, stubs for the client can be generated. However, the WDSL files (at least the ones generated by the SUN enterprise server) contain the IP-address of the server. In the final deployment of the system the IP-address of the server will be different from the one of the development system. Secondly, the same service might be deployed on different servers and needs to be accessible from the same client. So I'm looking for a mechanism to still use stubs generated from the WDSL file, but dynamically configure the IP address of the server to which the client should connect.
Any help here is greathly appreciated.

Hey Rishika,
You don't need tomcat to run a client. A web service client does not need a container and can be run without it.
Karan

Similar Messages

  • Dynamic Logical Port for Web Service Client

    Hi *!
    We want to use the same Web Service Client code with different Web Service instances running on different systems. So I need to configure the logical port (especially the URL of the endpoint) dynamically at runtime.
    Please give me a hint, how this is done.
    (we are using WebAS 6.40 SP7)...
    Thanks in advance,
         Frank

    Hi Frank,
    I hope you were able to solve your issue on you own in the meantime.
    I was looking for the answer to this question today. This was the only thread I found on SDN. Unfortunately, it did not contain an answer yet. I was able to figure out a way to set the endpoint address dynamically after searching help.sap.com and after examining the interfaces offered by the Stub (logical port in this case) classes.
    Here's an extract from my code:
    // Connect to JNDI context
    InitialContext ic = new InitialContext();
    // Get reference to web service proxy from JNDI context
    Z_MSC_GET_SCHEDULE_WSDService service =
         (Z_MSC_GET_SCHEDULE_WSDService) ic.lookup("wsclients/proxies/iot-online.de/msc~srv_ejb~proxy/de.iot_online.msc.proxy.ScheduleReaderProxy");
    // Get reference to logical port from web service proxy
    Z_MSC_GET_SCHEDULE_WSD logicalPort = service.getLogicalPort();
    // Set URL of web service Endpoint
    logicalPort._setProperty(Stub.ENDPOINT_ADDRESS_PROPERTY, "http://<FQDN>:8010/sap/bc/srt/rfc/sap/Z_MSC_GET_SCHEDULE_WSD?sap-client=100");
    This is explained on
    http://help.sap.com/saphelp_nwce10/helpdata/en/45/113a1221337249e10000000a155369/frameset.htm
    You can also set the credentials (username / password) with the method _setProperty.
    Best regards
    Christian

  • 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

  • Setting connect timeout and read timeout on a Web service Client

    How can I set timeout values for a SOAP Web service client?
    I don't want to set timeout values for the complete JVM, but on a call-by-call basis. I was looking for something like:
      SOAPConnection c = ....
      c.setTimeout(...);Anyone?

    Thanks again fsato4, but i still can not resolve my problem. I must use the java 1.2.2 and i think the package java.nio.charset is not supported. I have read documentation about the use of encodings but i can not understand clearly what is happening in my application. Let me explain what i am thinking and ask you some things.
    I send a message from the client in VB using soap toolkit, obviously in UTF-8 format. When the message is received in my Java Web service, Do i need to do something in order to my Java string understands the message?.
    What i am doing is to obtain the byte array with the following line:
    byte[] utf8Bytes = strXmlFile.getBytes("UTF8");
    And then i use the constructor of the string as follows:
    String ostr = new String (utf8Bytes,"UTF8"); I think that in this point i have my string in a valid representation for my server (Sun solaris) Rigth?. And finally i use my new string to pass that value to my function which expects a java.lang.String, but the result is that all the special characters are replaced.
    Just after of the new String line, i write my string to an Buffered Writer pointed to a FileOutputStream (just for Doublecheck) using the "ISO8859_1" encoding and for my surprise i can read very well that xml in my browser and the special characters are displayed in a correct way. Could you please explain me why?
    Thanks for your help.

  • OIM 11gR2 Request Validator Plugin and Axis based Web Service Client

    Hi,
    I am trying call a web service client generated using axis2 from a request validator plugin in OIM 11gR2 and I have all the axis related jar files under the plugin lib folder but it fails due to the axis reference issues.
    I tried putting the jar files under different locations like thirdparty folder, server lib etc. But it is giving issues every where. Please let me know if you have some solution.
    Thanks in advance,

    Haven't worked on this, but have you tried by putting the axis libraries inside the plugin lib folder when you are building up the plugin? Also you need to check asix2 compatibility with weblogic version with R2.
    -Bikash

  • 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

  • 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

  • Studio Creator and Web Service Clients

    Can somebody please explain to me or point me to some actual documentation on how this junk works?
    I have a web service client that was generated from a wsdl file being used by my studio creator project... the web service has changed and now i need to update/replace the client with a new one. It seems like no matter what I do it wants to tag a '3' onto the end of the name of the web service port and also build it into the package names - requirign me to go to all the places in my code that use this client and fix it to have a stupid 3 in it....
    Just replacing web service clients appears to be a huge ordeal involving removing the client libraries from the library folder, and even going into the build-impl.xml to remove references to the old client jars...
    I can't find any options to specify the web service client jar which would allow me to just overwrite the old ones instead of creating these new ones with archaic numbers (e.g. 1384793814) on the end of them...
    Is there an easy way to wipe clean or update a web service from an entire project without leaving these ridiculous references everywhere? When I try to replace the name personService3 with personService in the web service client generator tool it tells me the name is already in use but I can't for the life of me find it...
    can somebody shed some light on this for me? please help before i yank all my hair out...
    Thanks....
    Message was edited by:
    kregan77

    Please see the article I wrote called, "Web Service Consumption Security" at http://devservices.sun.com/premium/jscreator/standard/reference/tips/ws_consumption_security.html
    This will give you an idea of what is supported for the current version of Creator. Also, if you want some other feature supported, please submit a detailed use case to this forum.
    Thanks!
    -David

  • 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

  • Web service client type

    Hi,
    I am new to web services. I need to write a web service client that invokes a web service method. The method takes complex types as parameter and returns a complex type.what kind of client(static stub, dynamic proxy or DII) should I use to invoke such kind of method from a standalone java application?
    Thanks in advance.

    yes, you are right. stubs must be regenerated when the service definition changes. But is it possible to write a standalone client using dynamic proxy to invoke a web service method that uses complex types as parameters?.

  • Web service client needs to share data with a SOAP Message Handler

    I have a web service client that is built using WebLogic 10 clientgen. I also have a Soap Message Handler configured that will create the required Soap Headers for the web service call.
    Creating these Soap Headers works great as long as the header data is static but the problem comes up when I need to place some dynamic data in these headers. The web service client has this data and somehow needs to pass it to the Soap Message Handler. It looks like I need to somehow have the client place this data in the MessageContext before the call so the data can be accessed by the Soap Message Handler.
    How do I get access to the MessageContext from the client or is there a better way to do this?
    Thanks in advance for any help you can give.

    You may want to check the response to this previous post to see if it yields any ideas for you:
    Not able to Pass header info to Microsoft MapPoint WebService using WLS10

  • RPC style web service client

    hi,
    i am new to web service technology. i want to create dynamic web service client for a "rpc" style web service in Netbeans.
    please, can anybody guide me for this?
    thanks in advance.

    Hi,
    To avoid creating new topic I will put my question here.
    I try to create new web service (rpc-style) client in netbeans. I have rpc plugin installed. In ejb module node I right click > new > web service client >
    I fill all filds, chose rpc-style and > after clicking finish - error occur:java.lang.LinkageError: com/sun/xml/rpc/processor/generator/Names
         at org.netbeans.modules.websvc.registry.util.Util.getParameterType(Util.java:856)
         at org.netbeans.modules.websvc.registry.jaxrpc.WrapperClientWriter.printOperations(WrapperClientWriter.java:275)
         at org.netbeans.modules.websvc.registry.jaxrpc.WrapperClientWriter.writeClass(WrapperClientWriter.java:219)
         at org.netbeans.modules.websvc.registry.jaxrpc.Wsdl2Java.createWrapperClients(Wsdl2Java.java:305)
         at org.netbeans.modules.websvc.registry.jaxrpc.Wsdl2Java.execute(Wsdl2Java.java:229)
         at org.netbeans.modules.websvc.registry.util.Util.createWSJar(Util.java:493)
         at org.netbeans.modules.websvc.registry.RegistryViewImpl.registerService(RegistryViewImpl.java:221)
         at org.netbeans.modules.websvc.registry.RegistryViewImpl.registerService(RegistryViewImpl.java:159)
         at org.netbeans.modules.websvc.registry.netbeans.RegisterViewImplNetBeansSide.registerService(RegisterViewImplNetBeansSide.java:91)
         at org.netbeans.modules.websvc.jaxrpc.client.wizard.ClientBuilder.generate(ClientBuilder.java:330)
         at org.netbeans.modules.websvc.jaxrpc.client.wizard.JaxRpcClientCreator$2.run(JaxRpcClientCreator.java:319)
         at org.openide.util.RequestProcessor$Task.run(RequestProcessor.java:572)
    [catch] at org.openide.util.RequestProcessor$Processor.run(RequestProcessor.java:997)
    I use netbeans 6.5. In my project I choose java ee 5 as in 1.4 there is no web service client option
    Any ideas?
    I found some rpc tutorils for netbeans 4.0 but I wonder why it couldn't be done in netbean 6.5
    Regards,
    Lech

  • Web-service client for legacy web service

    I currently access a legacy server (Lotus Domino 7) via CORBA. I thought a web service (my second) would be faster, but a whole day's research has uncovered only obsolete or trivial examples.
    The WSDL generated by the server is rpc/encoded so wsimport cannot generate the necessary "artifacts" for a web service client.
    The web service is simple: it accepts two java.lang.Strings, and returns a java.lang.String of XML. The "dynamic proxy" approach from 1.4.2 seems to have disappeared; I was hoping that approach would let me just hand-code a single "artifact" - an SEI based on the method information in the WSDL.
    1) What classes in JAX-WS will let my web service client communicate with rpc?
    2) With such a simple signature, do I need any other "artifacts" beyond an SEI?
    Thanks for any help!

    In case anyone's search leads them here, I've posted the solution at:
    *[http://www.pby.com/general.nsf/webarticles/dominowebservice01]*
    It is an exhaustive article (not "Hello World"!) that goes through several versions of the web service and client - hopefully explaining all* pieces of the puzzle:
    ~ web service code,
    ~ WSDLs
    ~ schema
    ~ thoroughly-documented clients that do and do not use JAXB
    ~ ... that use generated artifacts
    ~ ... that customize existing POJOs
    ~ the SOAP messages generated in each direction
    ~ the necessary JAXB annotations
    ~ explanations of how the code works
    ~ explanations of how namespaces affect the code
    ~ on and on and on...
    My constant goal was to write an uncomplicated solution that uses as few artifacts (two) and annotations as possible. The end result is a small, fast JAX-WS 2.0 client that uses JAXB to invoke and consume a secured Domino 7 (1.4.2 JVM + AXIS) web service, using RPC/literal SOAP messages.

  • What Web service client does Omniportlet use?

    Does the omniportlet uses direct SOAP calls for Web service or use AXIS calls??
    Thanks
    JO

    Hello,
    As you may know OracleAS / JDeveloper has its own Web Service runtime and set of Tools. Omniportlet uses the Oracle AS Web Service Client API and WSDL tools to invoke dynamically SOAP based Web Services.
    I am curious to know why are you asking this question? Do you have specific requirements?
    Regards
    Tugdual Grall

Maybe you are looking for