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.

Similar Messages

  • How to compile and deploy JAX-WS web service from commandline (!) ?

    I have read a couple of tutorials about how to create and deploy web services with
    certain IDEs (e.g. Eclipse).
    But I found no guide on how to compile a java web service source from command line !!
    Lets say I have a java source class with annotations inside (like "@WebMethod").
    How do I generate with the built-in j2ee v5 tools from a web service from command line and deploy it e.g. to TomCat or JBoss ?
    Is there somewhere such a simple step-by-step intro?
    Thx
    Peter

    You can download JWSDP 2.0 from sun and install it. Under jaxws (the installed directory) you can find sample directory which has build.xml can be run from command prompt using ant. if you want in detail means go through the build.xml and use wsgen.bat or wsimport under the bin directory of jaxws
    Edited by: Muyallu_Bala on Apr 14, 2008 5:49 AM

  • JAXM and a non Java Web Service Client

    How can I acces a web service buit using JAXM with a client written using other technology?
    Where do I have to send the SOAP message from the client?
    I saw that JAXM optains the messeage from the HttpRequest! How do I put the SOAP message there?
    Thanks

    if you are not taking advantage of asynchronous messaging via a messaging provider, but want a standard web service that speaks to non java clients then JAX-RPC should be the API of your choice. It is simpler then JAXM and more standard compliant.
    If you want to do asynchronous messaging your client has to have some kind of messaging provider, too, to be able to continously listen to messages. Then the SOAP messages are then exchanged between the two message providers who both in turn notify onMessage the relevant application (message consumer).
    I hope this helps you solve your problem ;-)

  • CAPS Web Service client fails in Weblogic 9.2

    Hi.
    I'm trying to run a web service client, created in CAPS to run in Weblogic 9.2
    The web service client runs fine in Sun AS but fails in Weblogic with the message:
    javax.ejb.CreateException: Exception occurred during creation of message ...
    Are there any specific steps I need to take before deploying my web service client to weblogic?
    Any documentation on the subject?
    Kind regards
    G

    Version?
    Sincerely,
    Ted Ueda

  • Standalone Web Service clients in NetBeans with Reliable Messaging

    Following the WSIT tutorial (http://java.sun.com/webservices/reference/tutorials/wsit/doc/index.html) it's possible to create a Web Service with Reliable Messaging and a servlet client which run perfectly, great, but try and create a standalone client in NetBeans and it immediatly fails.
    Basically I created a standard Java application, did New->Web Service Client exactly like I had done in the servlet example and then used the Web Service Client Resources -> Call Web Service Operation context menu to add a Web Service call to my java application.
    The relevant code:
    try { // Call Web Service Operation
                uk.ac.ox.sddag.glassfish.server.NonSecureWSService service = new uk.ac.ox.sddag.glassfish.server.NonSecureWSService();
                uk.ac.ox.sddag.glassfish.server.NonSecureWS port = service.getNonSecureWSPort();
                int x = 0;
                int y = 10;
                int result = port.add(x, y);
                System.out.println("Result = "+result);
                ((Closeable)port).close();
            } catch (Exception ex) {
                System.out.println("Exception:");
                ex.printStackTrace();
            }Result:
    Exception:
    javax.xml.ws.soap.SOAPFaultException: com.sun.xml.ws.rm.RMException: WSRM3018: Non RM Request or Missing wsa:Action header
            at com.sun.xml.ws.fault.SOAP11Fault.getProtocolException(SOAP11Fault.java:188)
            at com.sun.xml.ws.fault.SOAPFaultBuilder.createException(SOAPFaultBuilder.java:130)
            at com.sun.xml.ws.client.sei.SyncMethodHandler.invoke(SyncMethodHandler.java:119)
            at com.sun.xml.ws.client.sei.SyncMethodHandler.invoke(SyncMethodHandler.java:89)
            at com.sun.xml.ws.client.sei.SEIStub.invoke(SEIStub.java:118)
            at $Proxy29.add(Unknown Source)
            at nonsecurestandaloneclient.Main.main(Main.java:29)
    Caused by: javax.xml.ws.WebServiceException: com.sun.xml.ws.rm.RMException: WSRM3018: Non RM Request or Missing wsa:Action header
            at com.sun.xml.ws.rm.jaxws.runtime.server.RMServerTube.processRequest(RMServerTube.java:343)
            at com.sun.xml.ws.api.pipe.Fiber.__doRun(Fiber.java:595)
            at com.sun.xml.ws.api.pipe.Fiber._doRun(Fiber.java:554)
            at com.sun.xml.ws.api.pipe.Fiber.doRun(Fiber.java:539)
            at com.sun.xml.ws.api.pipe.Fiber.runSync(Fiber.java:436)
            at com.sun.xml.ws.api.pipe.helper.AbstractTubeImpl.process(AbstractTubeImpl.java:106)
            at com.sun.enterprise.webservice.CommonServerSecurityPipe.processRequest(CommonServerSecurityPipe.java:218)
            at com.sun.enterprise.webservice.CommonServerSecurityPipe.process(CommonServerSecurityPipe.java:129)
            at com.sun.xml.ws.api.pipe.helper.PipeAdapter.processRequest(PipeAdapter.java:115)
            at com.sun.xml.ws.api.pipe.Fiber.__doRun(Fiber.java:595)
            at com.sun.xml.ws.api.pipe.Fiber._doRun(Fiber.java:554)
            at com.sun.xml.ws.api.pipe.Fiber.doRun(Fiber.java:539)
            at com.sun.xml.ws.api.pipe.Fiber.runSync(Fiber.java:436)
            at com.sun.xml.ws.server.WSEndpointImpl$2.process(WSEndpointImpl.java:243)
            at com.sun.xml.ws.transport.http.HttpAdapter$HttpToolkit.handle(HttpAdapter.java:444)
            at com.sun.xml.ws.transport.http.HttpAdapter.handle(HttpAdapter.java:244)
            at com.sun.xml.ws.transport.http.servlet.ServletAdapter.handle(ServletAdapter.java:135)
            at com.sun.enterprise.webservice.JAXWSServlet.doPost(JAXWSServlet.java:176)
            at javax.servlet.http.HttpServlet.service(HttpServlet.java:738)
            at javax.servlet.http.HttpServlet.service(HttpServlet.java:831)
            at org.apache.catalina.core.ApplicationFilterChain.servletService(ApplicationFilterChain.java:411)
            at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:290)
            at org.apache.catalina.core.StandardContextValve.invokeInternal(StandardContextValve.java:271)
            at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:202)
            at org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:632)
            at org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:577)
            at com.sun.enterprise.web.WebPipeline.invoke(WebPipeline.java:94)
            at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:206)
            at org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:632)
            at org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:577)
            at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:571)
            at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:1080)
            at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:150)
            at org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:632)
            at org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:577)
            at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:571)
            at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:1080)
            at org.apache.coyote.tomcat5.CoyoteAdapter.service(CoyoteAdapter.java:272)
            at com.sun.enterprise.web.connector.grizzly.DefaultProcessorTask.invokeAdapter(DefaultProcessorTask.java:637)
            at com.sun.enterprise.web.connector.grizzly.DefaultProcessorTask.doProcess(DefaultProcessorTask.java:568)
            at com.sun.enterprise.web.connector.grizzly.DefaultProcessorTask.process(DefaultProcessorTask.java:813)
            at com.sun.enterprise.web.connector.grizzly.DefaultReadTask.executeProcessorTask(DefaultReadTask.java:341)
            at com.sun.enterprise.web.connector.grizzly.DefaultReadTask.doTask(DefaultReadTask.java:263)
            at com.sun.enterprise.web.connector.grizzly.DefaultReadTask.doTask(DefaultReadTask.java:214)
            at com.sun.enterprise.web.connector.grizzly.TaskBase.run(TaskBase.java:265)
            at com.sun.enterprise.web.connector.grizzly.ssl.SSLWorkerThread.run(SSLWorkerThread.java:106)
    Caused by: com.sun.xml.ws.rm.RMException: WSRM3018: Non RM Request or Missing wsa:Action header
            at com.sun.xml.ws.rm.jaxws.runtime.server.RMServerTube.handleProtocolMessage(RMServerTube.java:469)
            at com.sun.xml.ws.rm.jaxws.runtime.server.RMServerTube.processRequest(RMServerTube.java:145)
            ... 45 more
    BUILD SUCCESSFUL (total time: 1 second)By removing the Reliable Messaging from the Web Service this error goes away. Initially I thought this error might be being caused by not specifying the WebMethod annotations 'action' parameter, but it's definitely set.
    package uk.ac.ox.sddag.glassfish.server;
    import javax.jws.WebMethod;
    import javax.jws.WebParam;
    import javax.jws.WebService;
    @WebService()
    public class NonSecureWS {
        @WebMethod(action = "add")
        public int add(@WebParam(name = "x") int x, @WebParam(name = "y") int y) {
            return x+y;
    }Interestingly, I found that this error also goes away if I add the library webservices-rt.jar from my glassfish libs to the project. Perhaps this is an oversight of NetBeans and should have been added automatically if reliable messaging is enabled, although by default it does have JAX-WS 2.1 jaxws-tools which I'm guessing is for some reason not adequate. JAX-WS version mismatch?

    This bug still isn't fixed.
    Thank you, adding Glassfish's webservices-rt.jar does fix it.

  • Web service client ignores http proxy settings

    I have a web service client using Weblogic's web service client library. I'm trying to instruct it to use a http proxy. I've set all the following system properties:
    -Dhttp.proxyHost=127.0.0.1
    -Dhttp.proxyPort=8080 -Dweblogic.webservice.transport.http.proxy.host=127.0.0.1 -Dweblogic.webservice.transport.http.proxy.port=8080
    No traffic is passing through the proxy.
    When the proxy is down, the application works fine too. I suspect that the proxy settings are completely ignored for some reason.
    I'm using Weblogic 8.1 SP4 on a Windows XP box and JDK 1.4.2 (Sun's bundled JDK with Weblogic).

    Sorry about the delay,
    You just need to use the standard java http proxy properties, take a look at:
    http://download-west.oracle.com/docs/cd/A97329_03/web.902/a95453/useservices.htm
    Does this help?
    Gerard

  • How to Create and Deploy Web Services Using Oracle 9i JDeveloper

    Hi,
    My Question is how to create and deploy Web Services using Oracle 9i JDeveloper.Anybody please give me a detailed Reply.Please Reply to [email protected]
    Hopr to Hear From you,
    Regards,
    G Sreekumar

    You could use datasources. You should do this in your BC4J Configuration. Then when deploying your applicaiton use the command -installDataSource (from admin.jar) to create the right datasource.
    You could probably use the name of your connection + "DS" so you can also use it locally in JDeveloper as JDev seesm to create this automaticly for your Connections.

  • 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

  • Deploying Web Service clients to earlier versions of AS

    Hello,
    I'm using JDeveloper to create web service proxy for existing service to use in my Web Service client. For development, I'm using JDeveloper 10.1.3.3, for deployment of client application I'm using Application Server 10.1.3.0.
    The problem is that AS 10.1.3.0 contains other versions of the libraries, for example, wsclient.jar, so, there's an error using Web Service Proxy (stub) as method setSOAPVersion() doesn't exist.
    The question is how can I use generated stub with earlier versions of Application Server.
    I've tried some things, but they didn't work. Maybe I did something wrong and step-by-step guidelines to deploy application are needed - I hope, it could be useful not only for me.
    So, I found JDev 10.1.3 Release Notes (http://www.oracle.com/technology/products/jdev/htdocs/10.1.3.0.3/readme.html) and the following abstract:
    Workaround for URL / WS Data Control Apps When Deploying to Third Party Application Servers or Oracle Application Server 10.1.2 (4931009)
    1. Copy the following JAR files to your target application server along with the rest of the ADF installed JAR files. The following JAR files are available under your JDeveloper's home directory.
    bc4j/jlib/dc-adapters.jar
    bc4j/jlib/adf-connections.jar
    j2ee/home/lib/http_client.jar
    webservices/lib/wsdl.jar
    webservices/lib/orajaxr.jar
    webservices/lib/orawsrm.jar
    webservices/lib/wsclient.jar
    webservices/lib/orasaaj.jar
    webservices/lib/xsdlib.jar
    webservices/lib/mdds.jar
    jlib/osdt_core.jar
    jlib/osdt_cert.jar
    jlib/osdt_xmlsec.jar
    jlib/osdt_wss.jar
    jlib/osdt_saml.jar
    jlib/ojpse.jar
    jlib/oraclepki.jar
    webservices/lib/wssecurity.jar
    webservices/lib/orawsdl.jar
    j2ee/home/jazncore.jar
    2. Shutdown the application server and modify the application server's class path to include all of the JAR files that were extracted from the archive. Please refer to the application server documentation for details on how to modify the class path.
    3. Restart the application server. You are now ready to deploy / run the application successfully.
    So, I've created a new Shared Library with Enterprise Manager, uploaded all this files and, deploying application, checked this library too. This didn't help.
    Thanks in advance, Valeriy

    Hi Valeriy,
    I have exactly the same problem. Have you been able to resolve this yet?
    Thanks
    Stu

  • How to create Web Service Client from wsdl with digital signature?

    Please, help me to create Web Service Client from wsdl with digital signature. I know create Web Service client from wsdl file and I know how to add digital signature to XML with jwsdp, but I don't know how to do it together.
    Thanks.

    I'm handling security wit JAX-WS handler. So I insert "manually" ws-security tag and I encrypt (and sign) message parts.
    On client side, all works fine, but on server side I obtain:
    ---Server Inbound SOAP message---|#]
    Decrypting message and rebuilding Valuees... |#]
    Starting decrypt|#]
    . dectypted.!
    --found following string: <ns1:addiziona><num1>80</num1><num2>22222</num2></ns1:addiziona>|#]
    ...MESSAGE Restored.|#]
    <?xml version="1.0" ?><soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ds="http://www.w3.org/2000/09/xmldsig#" xmlns:ns1="http://calculator.me.org/" xmlns:wsse="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd" xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd"><soapenv:Body><ns1:addiziona><num1>80</num1><num2>22222</num2></ns1:addiziona></soapenv:Body></soapenv:Envelope>|#]
    Error in decoding SOAP Message
    Error in decoding SOAP Message
            at com.sun.xml.ws.encoding.soap.server.SOAPXMLDecoder.toInternalMessage(SOAPXMLDecoder.java:89)
            at com.sun.xml.ws.protocol.soap.server.SOAPMessageDispatcher.toMessageInfo(SOAPMessageDispatcher.java:187)
            at com.sun.xml.ws.protocol.soap.server.SOAPMessageDispatcher$SoapInvoker.invoke(SOAPMessageDispatcher.java:571)
            at com.sun.xml.ws.protocol.soap.server.SOAPMessageDispatcher.receive(SOAPMessageDispatcher.java:145)
            at com.sun.xml.ws.server.Tie.handle(Tie.java:88)
            at com.sun.enterprise.webservice.Ejb3MessageDispatcher.handlePost(Ejb3MessageDispatcher.java:160)
            at com.sun.enterprise.webservice.Ejb3MessageDispatcher.invoke(Ejb3MessageDispatcher.java:89)
            at com.sun.enterprise.webservice.EjbWebServiceServlet.dispatchToEjbEndpoint(EjbWebServiceServlet.java:178)
            at com.sun.enterprise.webservice.EjbWebServiceServlet.service(EjbWebServiceServlet.java:109)
            at javax.servlet.http.HttpServlet.service(HttpServlet.java:820)
            at com.sun.enterprise.web.AdHocContextValve.invoke(AdHocContextValve.java:100)
            at org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:566)
            at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:536)
            at com.sun.enterprise.web.WebPipeline.invoke(WebPipeline.java:71)
            at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:182)
            at org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:566)
            at com.sun.enterprise.web.VirtualServerPipeline.invoke(VirtualServerPipeline.java:120)
            at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:939)
            at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:137)
            at org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:566)
            at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:536)
            at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:939)
            at org.apache.coyote.tomcat5.CoyoteAdapter.service(CoyoteAdapter.java:231)
            at com.sun.enterprise.web.connector.grizzly.ProcessorTask.invokeAdapter(ProcessorTask.java:667)
            at com.sun.enterprise.web.connector.grizzly.ProcessorTask.processNonBlocked(ProcessorTask.java:574)
            at com.sun.enterprise.web.connector.grizzly.ProcessorTask.process(ProcessorTask.java:844)
            at com.sun.enterprise.web.connector.grizzly.ReadTask.executeProcessorTask(ReadTask.java:287)
            at com.sun.enterprise.web.connector.grizzly.ReadTask.doTask(ReadTask.java:212)
            at com.sun.enterprise.web.connector.grizzly.TaskBase.run(TaskBase.java:252)
            at com.sun.enterprise.web.connector.grizzly.WorkerThread.run(WorkerThread.java:75)
    Caused by: javax.xml.ws.soap.SOAPFaultException: Cannot find the dispatch method
            at com.sun.xml.ws.encoding.soap.SOAPDecoder.raiseFault(SOAPDecoder.java:674)
            at com.sun.xml.ws.encoding.soap.server.SOAPXMLDecoder.decodeDispatchMethod(SOAPXMLDecoder.java:152)
            at com.sun.xml.ws.encoding.soap.SOAPDecoder.decodeBodyContent(SOAPDecoder.java:337)
            at com.sun.xml.ws.encoding.soap.SOAPDecoder.decodeBody(SOAPDecoder.java:327)
            at com.sun.xml.ws.encoding.soap.SOAPDecoder.decodeEnvelope(SOAPDecoder.java:250)
            at com.sun.xml.ws.encoding.soap.server.SOAPXMLDecoder.toInternalMessage(SOAPXMLDecoder.java:81)
            ... 29 more
    |#]
    --->handleFault O_o<---|#]If you have any idea for solving my problem, then I can post my simple example :(
    Bye!

  • Error when creating web service client in netbeans

    i tried to create a web service client from a wsdl and an error pops up:
    web service client can not be created by jaxws:wsimport utility.
    reason: com.sun.tools.xjc.api.schemacompiler.resetschema()v
    There might be a problem during java artifacts creation: for example a name conflict in generated classes.
    To detect the problem see also the error messages in output window.
    You may be able to fix the problem in WSDL Customization dialog
    (Edit Web Service Attributes action)
    or by manual editing of the local wsdl or schema files, using the JAXB customization
    (local wsdl and schema files are located in xml-resources directory).
    end of error message
    I am using netbeans 6.0 RC 2 and the bundled tomcat 6.0.13. Please help me.

    Hi Yatan
    The error is mostly there may be some Duplicate variable/schema element decalared in the wsdl or the xsd referred in the wsdl. Like in WSDL for any Operations, most of the times, we use input and outputs as complex xsd element. We declare these xsd in the same file or in another file and import that in the .wsdl file. So check or validate your XSD file for any Duplicates.
    In JDeveloper itself, I think, you can open XSD or WSDL and validate it from right click menu options like that.
    Thanks
    Ravi Jegga

  • 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

  • Web Service client deployment in JBoss 4.0.4 GA

    I need to write a web service client which would be deployed in a WAR file JBoss 4.0.4 GA container.
    The web service is written using JSR 181 and deployed in jbossws-1.0.2.GA .
    I would like to know which would be the best web service stack to use to write the client in the above mentioned scenario?
    TIA...

    Enable TCP/IP protocol. Select Microsoft SQL Server 2005>Configuration Tools>SQL Server Configuration Manager. In the SQL Server Configuration Manager select the node SQL Server 2005 Network Configuration>Protocols for SQLEXPRESS. Right-click on the TCP/IP node and select Enable. Restart the SQL Server (SQLEXPRESS) service. Right-click on the SQL Server (SQLEXPRESS) service in Services and select Restart.

  • 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

Maybe you are looking for

  • Purchase Order and Invoice

    Hi, Is there a way to link a PO with its invoice details? Thanks

  • How can I remove the ifunbox from my MacBook Pro?

    I accidentally downloaded and installed the ifunbox and now I can not remove it. How can I get rid of it? Thank you.

  • Itunes now says my iTouch is not authorized

    Just went into iTunes to sync and t says computer not authorized, which it is. So I put in user name and password, and it says it already is (following this?), asks me to authorize again. A revolving door I can't get out of... Any ideas?

  • FND_DATE to Standard Date in DFF

    Hi All, I have to fix a dff ,changing one of it's segment's value set from FND_DATE to Some values set having Format set as 'Standard Date'. DFF is using ATTRIBUTE2 ( varchar2) column as one of it's segment. Current : +++++++ column values set ATTRIB

  • Validation Key

    I bought a pc while on holidays. (my old pc was stolen) It came with Office 2010 professional. Now it needs to be activated, but I do not have a key, the pc seller did not have one. Can I buy a key to activate the s/w without having to download the e