Handelling xs:any and xs:anyType in web services

Hi All
im with Webservices for past few months. recently i encountered xs:any and xs:anyType while handelling a Webservice.
Can someone pls clarify the following points:
Q1.*Whats the difference between xs:any and xs:anyType.. when to use what?*
xs:any is getting mapped to SOAPElement and xs:anyType is getting mapped to java.lang.Object.
For now im trying to use xs:any (escaping from xs:anyType :-)). Im getting SOAP payload by doing soapElement.toString().
And then marshalling the String XML to specified objects... BUT im not sure whether this is correct way (?).
Somewhere in forums i read that if we are using xs:anyType we need to create our own Serializers/deserializers for handelling it.
But Im not sure how to do that (?) :-((
Q2 How can i use my own Bindings instead of the tools bindings?.. Right now im using JDeveloper 10.1.3.3.0 to generate Web Services.
if somebody knows pls help or direct me to some aricles where i could get some answers.
thanks in advance

Hi,
I've patch my system with the following patch (id 7009297):
ORACLE 11G 11.1.0.6 PATCH 3 BUG FOR WINDOWS X-64 BIT AMD
And the result
SQL> SELECT * FROM XMLTable('
  2    declare namespace ad="http://localhost/anydata.xsd"; (: :)
  3    for $f in ora:view("anydata")
  4        return $f/ad:anydata/ad:a'
  5  ) xtab;
<a xmlns="http://localhost/anydata.xsd">a</a>So, it works. Thanks for the help!
null

Similar Messages

  • Any existing BAPI that can be wrapped and exposed as a web service ???

    Hi ,
    I am designing PI Collaboration Platform and that all about Monitoring across SAP ECC, SAP PI and Non-SAP applications.
    BUSINESS CASE: Some clients are  looking for a solution that allows there management some visibility into the end-to-end aspect of processes, we will limit our discussion to SAP ECC and PI.
    SOLUTION: BAM ultimately helps solve this problem at an enterprise level - however that is a heavy investment for most organizations - is there an alternative that we can provide ? Example a generic web service that can be invoked from a 3rd party tool to provide reports.
    We do have solution :
    We can configure Proxy adapter and can write Java web service to invoke a method to extract the data from ECC and one or more report generating methods based on the standard ( like PDF,EXCEL etc)
    but we are still looking  for an existing BAPI that can be wrapped and exposed as a web service ????
    Need solution for the above ?

    Hi Sanjay,
    Yes  BAM  has a bigger take, if you are looking for PI monitoring reports  then please have a look at the following blogs which might
    give you some insight.this basically deal with reading data from SXMB_MONI tables.
    http://www.sdn.sap.com/irj/scn/go/portal/prtroot/docs/library/uuid/909760cb-0ec8-2a10-4a96-ee8417acfbc9
    http://wiki.sdn.sap.com/wiki/display/Snippets/PIMonitoringFunctionality-FetchingDatafromSXMB_MONIStandardTables-PartI
    i dont think there is any BAPI as such atleast wrt to PI.
    Best Regards,
    Srinivas

  • Any difference in creating a web service from a java class or session bean?

    Hi,
    The JDeveloper tutorial at http://www.oracle.com/technology/obe/obe1013jdev/10131/devdepandmanagingws/devdepandmanagingws.htm demonstrates creating a web service from a plain java class. I'm wondering:
    - Is it possible to create a web service from a stateless session bean instead of a java class? If so, what's the proper way to do this in JDeveloper? When I tried doing so in JDeveloper 10.1.3.0.4 (SU5) using the J2EE Web Service wizard, the wizard did not list the session bean in the Component To Publish dropdown (it does list any java classes available in the project). I can proceed by manually typing in the name of the session bean. After the wizard completes though, the @Stateless annotation that had been in my session bean class code is removed and replaced by a @WebService annotation. The end result is that it looks like it made no difference whether I had tried to create the web service from a session bean or plain java class as the annotations in the resulting web service code are the same (although if I had started from a session bean, the class for the web service still implements the Local/Remote EJB interface that the session bean originally implemented).
    - Assuming it's possible to create a web service from a stateless session bean, is there any advantage/disadvantage creating a web service from a java class vs a stateless session bean? I'm creating the web service from scratch so I also need to either build the java class or stateless session bean the web service would be based on from scratch too.
    Thanks for any ideas about this.

    Hi,
    EJB Session beans (EJB 3.0) are deployed as WebServices by annotating the class with @WebService and the methds with @WebMethod (both tags require you to add the JSR-181 library to your project (available in the JDeveloper list of libraries)). Unlike the J2E WebService, the EJB session bean service is turned into a WebService upon deployment. This means you obtain teh WSDL file after deployment
    - Assuming it's possible to create a web service from a stateless session bean, is there any advantage/disadvantage creating a web service from a java class vs a stateless session bean?
    The difference is that EJB Session bean based web services are integrated with the J2EE container, which means that they can leverage container services like transaction handling, data sources, security, JMS etc.
    Frank

  • (268625273) Q WSI-29 Can you give any performance benchmarks for WLS web services?

    Q<WSI-29> Can you give any performance benchmarks for WLS web services?
    A<WSI-29>: It is very difficult to quantify performance aspects of web services
    since they depend on so many variables including but not limited to: backend system
    processing by stateless session beans and message driven beans, size of XML SOAP
    message sent, system hardware (CPU speed, parallel processing, RAM speed) and
    system software (JVM type and version of WebLogic server). However, let me point
    out that the EJB backend processing of requests both have the best possible scalability
    within the EJB2.0 specification (both stateless session and message driven beans
    can be pooled) and servlets have a proven scalable track record. Thus it should
    be possible to scale your web service deployment to meet demand. The overhead
    in processing XML within the servlet can be significant depending on the size
    of XML data (either as a parameter or a return type). While WLS6.1 does not have
    any features to address this performance concern, WLS7.0 will feature Serializer
    and Deserializer classes which can be dedicated to the XML to Java and Java to
    XML translation (they can also be automatically be generated from a DTD, XML Schema
    or regular JavaBean).
    It is true that web services are not the fastest way to process client requests
    but BEA is committed to making WebLogic server the fastest possible service provider.
    Adam

    see http://www.oracle.com/support/products/oas/sparc30/html/ows08811.html

  • Developing an application and exposing it as web service

    Hi all,
    I have succesfully deployed and run helloworld service with Apache soap and tomcat.
    Now i want to develop a financial application to find account balance given credit and debit and expose it as web service.
    The problem is I am New to Java.
    Can anybody guide me how to proceed from scratch
    any help will be highly appreciated
    Thanks and regards
    nehaa

    There's a complete example of a bank application in the J2EE tutorial:
    http://java.sun.com/j2ee/tutorial/1_3-fcs/doc/Ebank.html

  • What do I do to close eform on screen and display response of web service in another screen.?

    Hi,
    I am trying to build following functionality.
    I want to submit form to a web service through SOAP request on click of a button.
    I want to display response of web service like “form has been submitted successfully” on screen.
    What has been achieved.
    I am able to submit form to an adobe web service passing base64 string to adobe process.(see the script in image#1).
    When I receive base64 string in adobe process, I am able to re-generate document (using getDocFromBase64(/process_data/@inputStr) ).
    After that I am returning a message string to as response “Form submitted successfully”.
    When I get the response I populate response to a text field variable (Out Str). See image#2
    Problem/Desirable functionality.
    I want to close this eform and display the message “form has been submitted successfully” on another page in browser so that it depicts to end user that form has been submitted successfully with confirmation.
    What do I do to close eform on screen and display response of web service in another screen.?
    Image#1
    Image#2

    Method1: This method only works in same PDF window.
    On the click of the submit button, based on the webservice result we can close the PDF. As you already having in the "Out Str", this variable having detailed message kind of thing, so it would be easier if you have one more output variable to know if this submission is success or failure or can use the "Out Str", it self to compare and close the PDF.
    Here i am using "strResult" to hold webservice success or failure using true/ false values.
    Get the "strResult" value from binded field of webservice response and compare and close or display messages based on requirement.
    var strResult = YourFieldname.rawValue;
                        if(strResult != "" && strResult != null){
                                  if(strResult.toUpperCase() == "TRUE"){
                                            xfa.host.messageBox("Successfully Saved the Data.", "Submit Confirmation", 3,0);
                                            //Close the PDF
                                            app.execMenuItem("Close");
                        else{
                                  xfa.host.messageBox("Failed to Save the Data.", "Submit Confirmation", 3,0);
    If the result need to show in separate window and having LiveCycle process connected to PDF via. webservice or REST:
    Method2. If the PDF inside the browser
    Type1 - You can set the process output is document variable, this PDF may contain your static/dynamic message and this PDF. But with this method result PDF opens in same window, host pdf will be disappeared.
    Type2 - You can set the process output is string variable, this STRING may contain your static/dynamic message. In this method the string will be appered in the same PDF window, host pdf will be disappeared.
    Method3. If the PDF is stand alone (not opend in any browser)
    Type1 - You can set the process output is document variable, this PDF may contain your static/dynamic message and this PDF. But with this method result PDF opens in new window, host pdf will be also stayed and may make readonly after submission success.
    Type2 - If the process output is string, it cannot handle this situation, may get the content type exception while receiving the result string, because.
    Used all of the above methods in various situations and it worked without any issues.
    -Raghu.

  • LYNC Server 2013 LS Address Book and Distribution List Expansion Web Service error - Event ID 62005

    Hi,
      Recently,  I found some of LS Address Book and Distribution List Expansion Web Service error from Lync 2013 Front  End Server, kindly advise help how to solve it. many thanks
    Distribution List Expansion Web Service failed to initialize.
    Exception: The server is not operational.
    Cause: Unexpected exception occurred during initialization.
    Resolution:
    Examine exception details in event to determine the resolution.
    Best Regards
    Thomas

    Hi,
    You can do the following steps to solve the issue:
    Please double check the Windows Firewall is turned off.
    Please check if the CMS replication update to the latest version.
    Make sure Lync Server update to the latest version.
    Best Regards,
    Eason Huang
    Eason Huang
    TechNet Community Support

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

  • WL 8.1 SP6 to WL10.3 upgrade any TIPS on "JMS, EJB, Web Service, JDK" etc?

    We are upgrading from BEA Weblogic 8.1 SP6 to Oracle Weblogic 10.3. The application running on WL 8.1 SP6 provides the services like - Web Service consumer, JMS server/consumer, RMI server. The JDK under WL 8.1 being 1.4.
    We have a mix of client application that are essentially JMS clients/senders and RMI clients. These clients will also be upgraded to Oracle Weblogic 10.3 but not at the same time as JMS server/consumer. So some clients may still be running on WL 8.1 JDK 1.4 while the server is running on WL 10.3 (that needs JDK 1.6)
    Please share any TIPs on compatibility issues (and how to overcome) for this mismatch between WL versions as well as JDK.
    Are there any specific details as for as JMS configuration setup from WL 8.1 to WL10.3.
    Appreciate your help!

    Some thoughts:
    * WL 10.3 fully supports 8.1 clients, so you can simply continue to use the 8.1 client jars. The drawback is that the clients won't be able to use new features like unit-of-order, and you may not get some performance benefits of the later clients.
    * I think WL 10.3 clients support the 1.5 and 1.6 JVMs.
    * I think WL 9.2 clients support 1.5 and 1.4 JVMs, so you might consider using 9.x clients during your transition period. This will give you access to more new features without forcing the client to use the 1.5 or 1.6 JVM.
    * As for mix-and-matching of JDK versions, you will need to develop your applications and serializable applications objects so that they continue to use the lowest common denominator. For example, if the same application code must run on 1.4 and a 1.5 client, then don't use generics. Also, avoid using new 1.5 or later JDK classes for serializable objects, if the objects must be passed to older clients (which, of course, will not be able to unmarshal such classes).
    * WL 10.3 and later stand-alone "full clients" can no longer always simply just use the "weblogic.jar". You can only include the weblogic.jar in the client classpath if the jar is embedded with a full weblogic install, otherwise, you must generate a "full client jar" using a command line utility and reference the generated jar instead. See [ Overview of Stand-alone Clients | http://download.oracle.com/docs/cd/E12839_01/web.1111/e13717/basics.htm#i1062773 ].
    * WL 10.3 configuration is quite different than 8.1 configuration. Some things to keep in mind:
    -- You now must also configure "WL Stores" (target to same target as the JMS server that uses the store). For JMS purposes, I recommend configuring a custom store per server and avoiding use of the default store.
    -- You still must configure JMS server(s) (configure each to reference a WL store that has the same target)
    -- You now must configure "JMS Modules", which contains definitions for destinations.
    -- In most cases, best practice is that you should configure one system module per set of JMS servers in a cluster and define a single "subdeployment" target for the module that directly lists each JMS server, target the module itself to a cluster, target destinations within the module to the subdeployment. Avoid "default targeting" for destinations, but its OK for connection factories.
    -- If some destinations are distributed across multiple JMS servers, while others are restricted to a single JMS server, then use two modules each with its own subdeployment. One module for the restricted case that uses regular destinations, and the other for the distributed case.
    Hope this helps,
    Tom

  • XI 3.0 and external Java client/web service

    Hello,
    I'm desperately tryin' to get an external system to work together with XI 3.0.
    The setup is quite simple:
    The external system is nothing but a simple Java program sending SOAP-based requests to a webservice. It is based on AXIS and is running satisfyingly when connecting directly to an appropriate Tomcat/AXIS-based web service, see the following communication.
    -- local request
    POST /axis/VAPService.jws HTTP/1.0
    Content-Type: text/xml; charset=utf-8
    Accept: application/soap+xml, application/dime, multipart/related, text/*
    User-Agent: Axis/1.1
    Host: 192.168.1.2:8080
    Cache-Control: no-cache
    Pragma: no-cache
    SOAPAction: "http://localhost/SOAPRequest"
    Content-Length: 422
    <?xml version="1.0" encoding="UTF-8"?>
    <soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
    <soapenv:Body>
      <SOAPRequest soapenv:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/">
       <SOAPDataIn xsi:type="xsd:string">890000001</SOAPDataIn>
      </SOAPRequest>
    </soapenv:Body>
    </soapenv:Envelope>
    -- local response
    HTTP/1.1 200 OK
    Set-Cookie: JSESSIONID=DFD7A00A244C18A058FCB52A8321A167; Path=/axis
    Content-Type: text/xml;charset=utf-8
    Date: Mon, 23 Aug 2004 06:52:47 GMT
    Server: Apache-Coyote/1.1
    Connection: close
    <?xml version="1.0" encoding="UTF-8"?>
    <soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
    <soapenv:Body>
      <SOAPRequestResponse soapenv:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/">
       <SOAPRequestReturn xsi:type="xsd:int">1</SOAPRequestReturn>
      </SOAPRequestResponse>
    </soapenv:Body>
    </soapenv:Envelope>
    Now I have designed and configured simple business scenarios with XI 3.0 (synchronous as well as asynchronous). The only response I get from XI when the Java client connects ist the following:
    -- remote request
    POST /sap/xi/engine?type=entry HTTP/1.0
    Content-Type: text/xml; charset=utf-8
    Accept: application/soap+xml, application/dime, multipart/related, text/*
    User-Agent: Axis/1.1
    Host: <host>:<port>
    Cache-Control: no-cache
    Pragma: no-cache
    SOAPAction: "http://soap.org/soap"
    Content-Length: 424
    <?xml version="1.0" encoding="UTF-8"?>
    <soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
    <soapenv:Body>
      <SOAPRequest soapenv:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/">
       <SOAPDataIn xsi:type="xsd:string">890000001</SOAPDataIn>
      </SOAPRequest>
    </soapenv:Body>
    </soapenv:Envelope>
    -- remote response
    HTTP/1.0 500 HTTP standard status code
    content-type: text/xml
    content-length: 1493
    content-id: <[email protected]>
    server: SAP Web Application Server (1.0;640)
    <SOAP:Envelope xmlns:SOAP="http://schemas.xmlsoap.org/soap/envelope/">
    <SOAP:Header>
    </SOAP:Header>
    <SOAP:Body>
    <SOAP:Fault xmlns:SOAP="http://schemas.xmlsoap.org/soap/envelope/" xmlns:SAP="http://sap.com/xi/XI/Message/30" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:wsu="http://www.docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd" xmlns:wsse="http://www.docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd" SOAP:mustUnderstand="1">
       <SOAP:faultcode>Client</SOAP:faultcode>
       <SOAP:faultstring></SOAP:faultstring>
       <SOAP:faultactor>http://sap.com/xi/XI/Message/30</SOAP:faultactor>
       <SOAP:faultdetail>
          <SAP:Error xmlns:SOAP="http://schemas.xmlsoap.org/soap/envelope/" xmlns:SAP="http://sap.com/xi/XI/Message/30" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:wsu="http://www.docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd" xmlns:wsse="http://www.docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd" SOAP:mustUnderstand="1">
             <SAP:Category>XIProtocol</SAP:Category>
             <SAP:Code area="PARSER">UNEXSPECTED_VALUE</SAP:Code>
             <SAP:P1>Main/@versionMajor</SAP:P1>
             <SAP:P2>000</SAP:P2>
             <SAP:P3>003</SAP:P3>
             <SAP:P4></SAP:P4>
             <SAP:AdditionalText></SAP:AdditionalText>
             <SAP:ApplicationFaultMessage namespace=""></SAP:ApplicationFaultMessage>
             <SAP:Stack>XML tag Main/@versionMajor has the incorrect value 000. Value 003 expected
             </SAP:Stack>
          </SAP:Error>
       </SOAP:faultdetail>
    </SOAP:Fault>
    </SOAP:Body>
    </SOAP:Envelope>
    I made sure the business service in the integration directory is named SOAPRequest and is using SOAP as the communication channel. As the adapter engine I chose the integration server, since it is the only option, although the SOAP adapter framework is installed (according to the SLD) and deactivated any options like header and attachment.
    Upon facing the above response I also tried any kind of derivative with inserting the described tag/attribute/element versionMajor, but to no avail.
    My questions are:
    What do I have to do additionally to get the whole thing running, i.e. configure my external systems in the SLD, providing proxy settings?
    Do I have to create web services within the Web AS (which provide some kind of facade to the XI engine using the proxy generation) and connect to these instead of directly addressing the integration engine (I'm using the URL http://<host>:<port>/sap/xi/engine?type=entry, but I also tried http://<host>:<port>/XISOAPAdapter/MessageServlet?channel=:SOAPRequest:SOAPIn, this led to a 404 not found error)?
    What settings do I have to provide to see the messages the client is sending, when looking into the runtime workbench it seems as if there are no messages at all - at least from my client?
    Hopefully somebody might help me out or least provide some information to get me going.
    Thanks in advance.
    Best regards,
    T.Hrastnik

    Hello Oliver,
    all information I gathered so far derives from the online help for XI 3.0, to be found under http://help.sap.com/saphelp_nw04/helpdata/en/14/80243b4a66ae0ce10000000a11402f/frameset.htm. There You'll find - in the last quarter of the navigation bar on the left side - sections describing the adapter engine alonside the SOAP adapter.
    Additionally I went through almost all postings in this forum.
    This alonside the mandatory trial-and-error approach (I did a lot of it up to date) led me to my current status, i.e. so far I haven't found any kind of (simple) tutorial or demo saying "If You want to establish a web service based connection via SOAP between external applications and XI first do this, then that ...", sadly enough :-(.
    Hope that helps, any questions are always welcome, I'll try my best to answer them ;-).
    Best regards,
    Tomaz

  • How do u convert any executable file to a web service

    Say i have an executable software...say something like an Optical character resolution software...or something like a dictionary software..which i normally run as an exe file..
    now how do i go about writing up java code, which allows me to convert this capability into a web service??
    Any opinion/guidance is most welcome.

    all right...we can use:
    Runtime r=System.getRuntime();
    Process p=r.exec("c:\\thatfile.exe something"); //to
    load that application...
    InuputStream in=new InputStream(p.getInputStream());
    i tried that with windows media player...replaced
    thatfile.exe withe full path of wmplayer.exe and
    something with an mpg file name...
    but all i could do was play that file..now what if i
    want to change the brightness??
    what i mean is..how do i get to know WHAT TO SEND IN
    A PROCESS'S INPUT/OUTPUT STREAM ???
    lets try a simple example..lets open up the
    notepad...and try to save a file as abc.txt with the
    content as xyz....how do we do it?With much difficulty.
    Which suggests notepad is an excellent example if you really want to do this.
    You might look at java.awt.Robot. Not sure it if will work but you can try.
    I know autoit (which you can search for on the internet) would work. You would write an autoit script and then use autoit to run the script. The script would take arguments, like "abc.txt" and "xyz.txt", and run notepad making notepad do whatever.
    A non-gui app, which notepad obviously isn't, could be controlled by streams (see java.lang.Process)
    For the right windows app using a COM interface might be better. At least in my experience figuring out how to get what you want from COM (one you didn't write) is a nightmare. But possible. A 'service' might actually need this because it might not be possible to pop a gui on some server set ups (not sure about this though.) Doing this either requires that you write JNI or find a third party tool that provides this functionality for you.
    In all of the above you need to figure out the functionality of the exe, and then write a layer that provides the specific functionality that you need to control.
    And of course none of the above has anything to do with web services but rather it is just how to control an executable.

  • A good tutorial on APEX and/or PL/SQL Web Services

    Hello
    I am trying to implement a web services where I will be uploading some files to a remote server.
    I will be using APEX 3.2 to implement UI and PL/SQL for 11g
    However, there is one thing I have to admit I have not been able find this kind of tutorial.
    Knowledge of how to make a connection to remote web service only using PL/SQL, the files and rest I can suffer and get from pain..
    I have seen and read many tutorials how to make a web service from APEX.
    However, I would like to know if there some specific PL/SQL packages, functions, procedures and others to do this
    I would be more than happy if some can point me the direction and I will do the rest.
    Browsing different forums and google I have not been able to find this.
    I am 100% sure millions of people have done this. I have not only been able to find something about this...
    probably limit in knowledge and using goooogle....
    thnx
    pl/sql new

    Here is a link to a tutorial on exposing a PL/SQL function as a web service: http://www.oracle.com/technology/obe/obe1013jdev/10131/wsfromplsqlpackage/devwsfrom%20plsql.htm
    I don't believe there is any way to expose PL/SQL as a web service using only PL/SQL. This tutorial covers wrapping PL/SQL in java running on OC4J. I haven't tried it myself so I can't give you much more direction than that, but for what it's worth, it looks fairly straightforward.
    Hope this helps,
    John

  • Errors/warnings occurred when generating the local proxy dll and VI wrappers for web service

    Hello,
    I'm new to web services - trying to import a WSDL that was created by an outside vendor and placed on a company server.  I imported a previous version successfully.  The error I'm getting doesn't make a lot of sense to me, here it is:
    The following errors/warnings occurred when generating the local proxy dll and VI wrappers for this web service.
    Can't generate files.
    Possible reasons are:
    1. The output file(s) might be read-only.
    Remove the read-only attribute and import the Web service again.
    2. A proxy DLL that LabVIEW created under the same file path exists in memory.
    Restart LabVIEW and import the Web service again.
    I don't see any read-only attributes on the output files and I've tried restarting LabVIEW - no luck.  Any help is greatly appreciated.
    Thanks,
    Al Rauch
    Merck & Co., Inc.

    Aaron,
    I was able to successfully import and run the web services from the WSDL file in question in LV2009 on a different computer than the one on which I had the original problem.  Unfortunately I am still having the original problem on the project computer and will need to get it working there . . . still looking for a solution to that.  Apparently LV2009 is perfectly capable of importing and running this WSDL file, but there is something still in the way on the project PC.
    Thanks,
    Al

  • Multiple List Builder and Query As A Web Service Problems

    Hi All,
    I quickly became aware that trying to pass multiple parameters to "Query As A Web Service" from a "List Builder" object in Xcelsius was not a simple task to acheive after reading this post here :-
    Query as a Web Service and In List
    I followed the advice that David Brunner suggested towards the end of the thread about creating a "BI Service" by publishing a block from a Webi Rich Client report.
    I then referenced the newly created "BI Service" by using it's WDSL URL through the Xcelsius Data Manager - Query As A Web Service connection.
    Everything appeared to work fine (e.g. Did my selections from the last builder and got refreshed/changed figures in my Spreadsheet Table object in the Dashboard) until I realised figures in my dashboard were not reconcilling and appeared much lower than expected.
    After monitoring what was happening traffic wise with "Fiddler 2" I discovered that Xcelsius was only passing the first entry in each of the selected values for the list builder even though a range of cells (e.g Month_Year!$a$2:$a$13) was specified to be passed as an input parameter to the BI Service (confirmed through viewing the Input/Output XML being sent).
    I even tried specifying the multiple values in the different suggested ways that David Brunner advised such as a semi colon delimited list (e.g. Miami;Boston;Chicago) but this didn't appear to be working either.
    Can anyone suggest what I may be doing wrong here? Why is only the first value being passed?
    I am using Xcelsius Enterprise 2008 SP3.
    Many Thanks,
    Gary
    Edited by: Gary Scott on Dec 1, 2010 3:49 PM

    Hi Gary,
    I have the same problem. Have you found any solution?
    Thanks.
    EZ

  • HTTPS and client invocation of web service - how to?

    Got some web services that are document and document wrapped. Have generated the
    client stubs using <clientgen> ANT task from BEA. Time to run a test against
    the web services, but they have to run on HTTPS. When I invoked my web service
    using the HTTPS://.... URL, I got this:
    [java] 5) testQuoteStubs(com.arrow.arrowsoap.client.QuoteServiceClientTest)
    weblogic.webservice.tools.wsdlp.WSDLParseException: Failed to retrieve WSDL from
    https://localhost:7002/QuoteService?WSDL. Please check the URL and make sure
    th
    at it is a valid XML file [javax.net.ssl.SSLKeyException: FATAL Alert:BAD_CERTIF
    ICATE - A corrupt or unuseable certificate was received.]
    Cool. So how do I assign a default CERT to the https client? This is on a developer
    instance of WL 8.1. I don't want to run the test on HTTP b/c I need to see how
    it works with HTTPS (need to simulate a bona fide downstream user). Any help
    is greatly appreciated.
    Thanks
    -Jake

    Hi Jacob,
    Take a look at the simple, one way SSL example [1] however it sounds
    like you want to have the client provide a cert back to the server,
    implying two-way SSL. You can find a two-way example here [2].
    Regards,
    Bruce
    [1]
    http://webservice.bea.com/simpleSSL.zip
    [2]
    http://webservice.bea.com/SSL2way.zip
    Jacob Anderson wrote:
    >
    Got some web services that are document and document wrapped. Have generated the
    client stubs using <clientgen> ANT task from BEA. Time to run a test against
    the web services, but they have to run on HTTPS. When I invoked my web service
    using the HTTPS://.... URL, I got this:
    [java] 5) testQuoteStubs(com.arrow.arrowsoap.client.QuoteServiceClientTest)
    weblogic.webservice.tools.wsdlp.WSDLParseException: Failed to retrieve WSDL from
    https://localhost:7002/QuoteService?WSDL. Please check the URL and make sure
    th
    at it is a valid XML file [javax.net.ssl.SSLKeyException: FATAL Alert:BAD_CERTIF
    ICATE - A corrupt or unuseable certificate was received.]
    Cool. So how do I assign a default CERT to the https client? This is on a developer
    instance of WL 8.1. I don't want to run the test on HTTP b/c I need to see how
    it works with HTTPS (need to simulate a bona fide downstream user). Any help
    is greatly appreciated.
    Thanks
    -Jake

Maybe you are looking for