Java Webservice Import to WDJ

Hello All,
When I import a J2EE Webservice to WDJ layer, the collections in WS are truncated, OR those levels are not created in the generated context when we implement the methods to component controller.
My problem is one of the nodes in WS is a recursive node, if I can at least get the Java array collection from the model object execute method, i can read them and copy them to a local node.
Any one know how to read the values from the webservice structure in the code other than doing a mapping to the context? Any help would be much appreciated.
Many thanks
Senon

Hi,
See my answer here:
How to read complex Web Service structure from WD
Basically each object from the web service is created as a class/interface in the WD side so you can just use the classes/interfaces that are created.
Regards,
Omri

Similar Messages

  • Problem while Consuming Java Webservice from WCF client

    Hi,
    I am trying to Consume Java Webservice from WCF client.The webservice main functionality is digital data management.The client can Query Digital data and upload digital data by calling webservice methods.Problem is when i am trying to call webmethod from WCF client its giving "Unrecognised message versions".I have no idea about how the message objects are processed at serverside.but at server side they have used JAXP for XML document parsing.
    The response content type is Multipart/related and applicatio/XOP+XML.
    Can u plz help me how to handle this situation.I have minimum knowledge in Java WS architecture.Basically i am .Net programmer.
    Can U please guide me in a proper way to resolve the problem.

    Hi Abinash,
    I have the same problem. Have you solve that problem?
    I am using a java program to call a webservice too. And I have generated the client proxy definition for Stand alone proxy using NWDS. When I call the method of the webservice I am getting the correct result but along with the result I am getting one error and one warning message in the output.
    The java code to call the webservice is as follows.
    MIDadosPessoaisSyncService service = new MIDadosPessoaisSyncServiceImpl();
    MIDadosPessoaisSync port = service.getLogicalPort("MIDadosPessoaisSyncPort");
    port._setProperty("javax.xml.rpc.security.auth.username","xpto");
    port._setProperty("javax.xml.rpc.security.auth.password","xpto");
    String out = port.MIDadosPessoaisSync("xpto", "xpto");
    System.out.println(out);
    The result I am getting is :
    Warning ! Protocol Implementation [com.sap.engine.services.webservices.jaxrpc.wsdl2java.features.builtin.MessageIdProtocol] could not be loaded (NoClassDefFoundError) !
    Error Message is :com/sap/guid/GUIDGeneratorFactory
    <b>The result of the WS is correct!!!</b>
    The Java project does not have any warning. But the stand alone proxy project has following warnings associated with it.
    This method has a constructor name     MIDadosPessoaisSync.java     
    The import javax.xml.rpc.holders is never used     MIDadosPessoaisSyncBindingStub.java     
    The import javax.xml.rpc.encoding is never used     MIDadosPessoaisSyncBindingStub.java     
    The constructor BaseRuntimeException(ResourceAccessor, String, Throwable) is deprecated     MIDadosPessoaisSyncBindingStub.java
    It is very similar with your problem, could you help me?
    Thanks
    Gustavo Freitas

  • Using Java Webservices provided by xRPM 4.0 in PPM 5.0

    Hi,
    We have developed some custom WD ABAP applications in PPM 4.5 which were using Java webservices provided by xRPM 4.0 to get the UI context.
    The details are provided in the document
    https://websmp109.sap-ag.de/~sapidb/012006153200000315412008E/How_to_xRPM_custom_iView.pdf
    We have upgraded to PPM 5.0 and the custom webDynpro application is not able to fetch the UI context and get the portfolio GUID. I have verified that the RFC destination and Logical port required to call Java webservices is maintained as mentioned in the above document.
    Are these SAP standard Java webservices available for use in PPM 5.0 ? Please let me know if we need to change the custom code to fetch the UI context in PPM 5.0
    Thanks,
    Yomesh

    Thanks Amit for the confirmation. I am following SAP Note 0001399319 which mentions about how to develop for custom WD ABAP applications in PPM 5.0.
    The example WDA component mentioned in the note is /RPM/CUSTOM_COMPONENT. I am developed a custom WD ABAP application in lines with the SAP note and still not able to get the GUID in the context.
    The code written in WDDOINIT of these applications is as below,
      instantiate session state class
        wd_this->mr_session_state = cl_inm_session_state=>get_instance( ).
    Obtain current context from session state.
        CALL METHOD wd_this->mr_session_state->get_current_context
          IMPORTING
            es_context = wd_this->ms_context.
    I am getting null in ms_context.
    Please let me know if you have tried to implement an custom WDA application in PPM 5.0. Not sure what am I missing in the above scenario.
    Thanks,
    Yomesh

  • How to use Delphi Client in Java WEBSERVICE

    I am building a Webservice Application. In client side I use Delphi to import WSDL from a Java Webservice Server ( literal WSDL ). By using WSDL Importer Control I successfully imported the WSDL file but when I called the impoted method the system returned an error :
    "Project sendEmail.exe raise exception class ERemotableException with message ' Unable to find a matching Operation for this remote invocation <SOAP-ENV: send xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"> </SOAP-ENV:send>.Please check your Operation Name.'
    I think when i call send method in Client side the request is sent to Webservice Server but in server side ( build in Java ) that method doesn't match with the original method ( although the method in client side is imported from Webservice Server )
    ( When I use Delphi client to invoke methods from Delphi Webservice Server ( with rpc WSDL ) the result is OK and Java client also sucessfully invoke that method from Java Webservice )
    Can you show me how i resolve this problem. Thanks

    Hi Robin,
    At some point, you can expect that the Web services frameworks will be implementing some of the plumbing related to WS-* for you. For example, you can rely on the framework to deal with WS-sec for you with the current Developer Preview of OC4J. For WS-Adressing specifically, you have to handle this in the application layer today, and there is very little the framework can do for you, other than converting the WS-Addressing SOAP header into some java object model for you. The business logic related to the use of the ws-addressing headers has to be implemented at the application level, with some handler. The same applies today for any JAX-RPC based Web services framework, including Axis. Now, if you are using some 'advance' framework like BPEL PM, they can do a lot of heavy lifting for you, under the cover.
    Hope this helps,
    Eric

  • Java Webservices

    Hi all,
    I am new to java webservices.But i need one solution in webservices.
    I want to get SOAP information from WSDl url( If i give like this.. http://wslite.strikeiron.com/phonenumberinfolite01/PhoneNumberInfoLite.asmx?WSDL).
    Is there any tools like NuSoap is available for java or is there any other methods to get it??
    plz anyone guide me..
    Thank you..

    Hopefully the main server infrastructre can be developed using a server like TomCat Yes
    Can somebody refer me to some good books on this topic.Just check the amazon user reviews dude. If you stick to JAX-RS, I learned that in under a day without needing any book at all, its THAT simple once you get over the initial setup.
    Speaking of which: you should not be thinking about building anything at all until you've learned core Java - not only the language but also the tools, the platform and the important JDK classes (collections, threading, dates, sockets, ...).
    http://docs.oracle.com/javase/tutorial/
    You're going to be horribly confused until you can deal with classpath issues, know how to bind library jars to your application, you can read and interpret exception stacktraces and you know how a Java application is packaged.

  • Formating the response of Java webservice to table structure in webdynpro

    Hi All,
    I am stuck at a point where I have  a Java Webservice resulting an ArrayList Response.
    My webdynpro will have to populate the ArrayList response into a table.
    Below is the piece of code am using to execute my webservice.
    CODE :
    JavajdbcModel md = new JavajdbcModel();
        Request_Display reqDisp= new Request_Display(md);
        try
        reqDisp.execute();
        wdComponentAPI.getMessageManager().reportSuccess("Str: "+reqDisp.getResponse());
    RESULT :
    <modelObject class="Response_Display"><target roleName="DisplayResponse"><modelObject class="DisplayResponse"><attribute name="Response" value="[[i01111, USSS, DSGTechTwo, DEF], [i012345, USSS, DSGTechOne, ABC], [i067890, USSS, DSGTechTwo, DEF], [i07777, USSS, DSG, ggg], [i08888, cccc, vvvv, bbbb], [io3333, USSS, DSGTechOne, abc]]"/></modelObject></target></modelObject>
    The required output are the values that are with the blue font above.
    I have tried with methods like :
    getAttributeValue, getResult - but are of not much help.
    Could you please help me out in this.
    Thanks & Regards,
    Suyukti. B N.

    Dear Suyukti,
    Since your web service returns an arraylist,
    you need to retreive the response into an arraylist. Then you can you this arraylist to populate the node for the table as required.
    Your code will be something like
    ArrayList al = (ArrayList)reqDisp.getResponse();
    Now that you have the response, then use the get function of the arraylist to set the context.
    al.get(index);
    This function returns  java.lang.Object, so you need to to cast into the required type.
    e.g. String str = (String) al.get(0);
    Hope that works.
    Regards,
    Mayuresh.
    PS: xxxxxxxxxxxxxxxxxxxxxxxxxx
    Edited by: Armin Reichert on Jan 1, 2008 3:49 PM

  • Problem using VB Client with a JAVA Webservice

    Hi people!
    I'm using JDeveloper (9.0.3) to create a JAVA Webservice on OC4J container. I followed tutorial of Oracle and I got to execute my webservice, including I can invoke my methods by HTTP using HTML forms.
    I need to invoke my methods using a VB Client with MIcrosoft SOAP ToolKit. My VB code is:
    Function autenticar(login As String, senha As String)
    Dim ObjWS As New MSSOAPLib30.SoapClient30
    Dim retorno As Variant
    Call ObjWS.MSSoapInit("http://10.71.200.40:8888/iSimp-Web-Root/br.gov.anp.isimp.controleVersao.ControleVersaoEJB?WSDL")
    retorno = ObjWS.autentica(login, senha)
    autenticar = retorno
    End Function
    My webservice publish a method called autentica that receives two parameters (a login and a password) and authenticates to obtain access to my system.
    When I try to execute this function, I got this message error:
    No deserializer found to deserialize a ":login" using encoding style "http://schemas.xmlsoap.org/soap/encoding/". [java.lang.illegalArgumentException]
    Anyone knows what is this error?

    If you could post what solved your problem that would be useful for others that run into the same issue. Thanks if possible!
    Mike.

  • Java field imported to ABAP RFC

    Hello,
    I'm using the following code in a User Defined Function within XI 3.0 and I'm having difficulty getting the correct "message id" imported into the RFC. 
    I've tried changing the data type of I_MESSAGEID.  Using this message id and the following data types I get different results: 
    I_MESSAGEID should look like this:  4989D6DBCE5B4C85E10000000A5060AC
    but when...
    I_MESSAGEID is set to CHAR(32):  Ó倃၏טℶ፝㓓
    I_MESSAGEID is set to RAW(16):  E3DF01DB7D03DB6E3ADF9E84135D34D3
    I_MESSAGEID is set to String:  ######n:ߞ##]4#
    Here is my java code:
    public String Create_ZTOR_Rec(String MsgID,String MsgDate,String MsgTime,String PONum,Container container){
    String content = "";
    MappingTrace importanttrace;
    importanttrace = container.getTrace();
    // filling the string with our RFC-XML (with values)
    String m = "<?xml version="1.0" encoding="UTF-8"?><ns0:Z_UDF_CREATE_ZTOR_REC xmlns:ns0="urn:sap-com:document:sap:rfc:functions">";
    m = m + "<I_MESSAGEID>" + MsgID + "</I_MESSAGEID>";
    m = m + "<I_EBELN>" + PONum + "</I_EBELN>";
    m = m + "<I_ERDAT>" + MsgDate + "</I_ERDAT>";
    m = m + "<I_UZEIT>" + MsgTime + "</I_UZEIT>";
    m = m + "</ns0:Z_UDF_CREATE_ZTOR_REC>";
    RfcAccessor accessor = null;
    ByteArrayOutputStream out = null;
    try
    // 1. Determine a channel (Business system, Communication channel)
    Channel channel = LookupService.getChannel("XI","GeneratedReceiverChannel_RFC");
    // 2. Get a RFC accessor for a channel.
    accessor = LookupService.getRfcAccessor(channel);
    Any Ideas how I can convert this message id in Java to import it properly?
    Thanks,
    Matt

    It is a good document and I noticed the link to Help.sap.com explained why writing to/updating a table through java mapping is not a good idea but in this case I do not have an option.
    I was unable to find anything to explain why all the other strings are processed in the RFC but the message id gets garbled.
    When I test the RFC manually it works properly.  When I attach the message id to the outgoing document it appears correctly.  So the error appears to be happening here:
    // 3. Create a xml input stream representing the function module request message.
    InputStream inputStream = new ByteArrayInputStream(m.getBytes());
    // 4. Create xml payload
    XmlPayload payload = LookupService.getXmlPayload(inputStream);
    // 5. Execute Record Create.
    Payload result = accessor.call(payload);
    InputStream in = result.getContent();
    Does anyone know how I can get the correct message id into my RFC?
    Thanks,
    Matt

  • Adobe form as PDF string in Webservice importing parameter

    Hello Experts,
    Can you please clarify the below issue.
    I have created a webdynpro.
    I have placed an interactive form on one of it's view.
    And kept one Submit button(Execute type) on the form to trigger one webservice.
    This webservice has the importing parameter as the PDFSTRING.
    So my requirement is to pass the entire form with filled values to the webservice importing parameter. I will be storing this PDF string in some tables.
    What scripting i need to use in the form for getting this done.
    Thanks in advance.
    Regards,
    Ram.

    Hi Sai,
    Thanks for ur input.
    My requirement is not exactly the string with XML data, but the string with PDF data.
    I will try to explain my requirement here in detail.
    I have the adobe form triggering from the webdynpro. This form has different objects like, text fields, dropdowns, check boxes, radio buttons...etc and one SUBMIT button for which webservice is attached in the properties.
    User will fill all the fields and clicks on SUBMIT. When he clicks on the SUBMIT, the webservice should attach the filled PDF document at partner level.
    For this purpose, i need the string with PDF data and not the XML.
    WIth this PDF string again i should be able to re generate the PDF document which was filled by the user.
    If string with PDF data is not possible, Please suggest me the possible way of achieving this?
    Regards,
    Ram.

  • Problems using a VB Client to access a JAVA Webservice

    Hi people!
    I'm using JDeveloper (9.0.3) to create a JAVA Webservice on OC4J container. I followed tutorial of Oracle and I got to execute my webservice, including I can invoke my methods by HTTP using HTML forms.
    I need to invoke my methods using a VB Client with MIcrosoft SOAP ToolKit. My VB code is:
    Function autenticar(login As String, senha As String)
        Dim ObjWS As New MSSOAPLib30.SoapClient30
        Dim retorno As Variant
        Call ObjWS.MSSoapInit("http://10.71.200.40:8888/iSimp-Web-Root/br.gov.anp.isimp.controleVersao.ControleVersaoEJB?WSDL")
        retorno = ObjWS.autentica(login, senha)
        autenticar = retorno
    End FunctionMy webservice publish a method called autentica that receives two parameters (a login and a password) and authenticates to obtain access to my system.
    When I try to execute this function, I got this message error:
    No deserializer found to deserialize a ":login" using encoding style "http://schemas.xmlsoap.org/soap/encoding/". [java.lang.illegalArgumentException]Anyone knows what is this error?

    Thanks guys! I'm already solve my problem.

  • Creating Java Webservices.

    Hi ,
    I have a Client WSDL. I have to create a dummy service java webservice uisng that wsdl.I have used axis WSDl2Java utility to create java files from the WSDL .How can I create a webservice using these java files?
    Thanks,
    Vivek

    This doesnt make much sense. Where did you get the wsdl from if you dont have a web service?
    When you develop a web service, your wsdl can be create by:
    1. when running wsgen
    2. when you deploy your web service (on Sun App Server 9.0)
    Once you have your wsdl, you can create a client that actually uses your new web service.
    I dont think you can go 'backwards' by starting with a client and a wsdl and then create your service. However, there could be some wizard/tool out there that creates a "stub" web service that has no guts.

  • Creating Java Webservice

    Hi All,
    I am trying to create a w/s in java with MDM at the backend. I have posted the query on MDM Forum. Following is the link:
    Creating Java Webservice
    Please see if you can help resolve the issue.
    Regards,
    Nitin

    Hello Nitin,
    For using MDM API into beans you need follow these steps
    1)create an external library project
    2)add all the jar files in the that project
    3)Create Publica parts for those jar files
    4)Build the project
    5)Add the reference of the extenal library project(public parts) into the Bean project
    6)Create EAR project for the corresponding bean project and deploy the EAR project
    7)Use this bean class in the webdynpro project
    8)Also add the reference of the ear project in webdynpro project
    9)Build and deploy webdynpro application after writing entire logic, and then chek the output.
    Regards,
    Shruti.

  • Java Bean Importer

    Hi
    I am trying to import a Java bean into webdynpro component. I have exposed the Java bean class as public part and I am using this as a used DC in webdynpro.
    I am trying to create a model from Java bean importer and i select the Jar of the java bean I am getting the following error.
    java.lang.Exception: Invalid Class - JavaBean not available for import
    Class :javax/ejb/CreateException
    Jar :C:\Documents and Settings\Administrator\.dtc\1\DCs\ibm.com\jdidemo\maint\java\_comp\gen\default\public\CommandBean\lib\java\comjdidemomaintjavaCommandBean.jar
         at com.sap.ide.metamodel.importers.javabean.JavaBeanAnalyser.identifyClassesForJar(JavaBeanAnalyser.java:1187)
    Any help is appreciated.
    Regards
    NagaKishore V

    Hi,
      please check the steps to be implemented to import the Jave Bean.
    https://www.sdn.sap.com/irj/servlet/prt/portal/prtroot/docs/library/uuid/1f5f3366-0401-0010-d6b0-e85a49e93a5c
    Please refer the blog as well.
    /people/valery.silaev/blog/2005/08/30/javabean-model-import-when-it-really-works
    hope that helps.
    Regards,
    S.Divakar
    Message was edited by: Divakar Salla

  • Failure of webservice import

    Hello,
    I'm getting the error in the title while importing SAP Webservices via Visual Studio 2005 SAP Portal project. The webservice is getting added properly but when i tried to use the webservice its showing error message like " Webservice is not defined"
    The webservice import works fine in a normal ASP.Net project, I only get this error while inside a SAP Portal project.
    Pls suggest wht to do?

    Hi hamsa,
    how are you doing ?
    it is probably a permissions problem, as the wsdl tool is working fine to generate the proxy.
    unfortunately as i am not aware of the SAP code that is involved, i could only recommend a uninstall / reinstall for system errors
    with respect,
    amit

  • Non Java Webservice client Authentication

    I see in the Weblogic docs many examples of Java webservice clients. Including
    one that passes a user id and password through the getXXXPort(userid, password)
    call for authenticating the user at runtime. My question is, can a non Java webservice
    client authenticate itself in somewhat the same manor? A non Java client wouldn't
    have the client jar file available containing the stubs and all.
    If someone has a code snippet they could send me it would be most appreciated.
    Thanks,
    Craig Lindley

    Hi Craig,
    An partial example using .NET is attached; in this environment you need
    to use their NetworkCredential class.
    Hope this helps,
    Bruce
    craig lindley wrote:
    >
    I see in the Weblogic docs many examples of Java webservice clients. Including
    one that passes a user id and password through the getXXXPort(userid, password)
    call for authenticating the user at runtime. My question is, can a non Java webservice
    client authenticate itself in somewhat the same manor? A non Java client wouldn't
    have the client jar file available containing the stubs and all.
    If someone has a code snippet they could send me it would be most appreciated.
    Thanks,
    Craig Lindleyusing System;
    using System.Net;
    namespace SecurityBasicClient
    class AuthClient
    [STAThread]
    static void Main(string[] args)
    SoapInteropBaseService ws = new SoapInteropBaseService();
    ws.Url = "http://webservice.bea.com:7001/base/SoapInteropBaseService";
    Console.Write("User:");
    string strUser = Console.ReadLine();
    Console.Write("Password:");
    string strPassword = Console.ReadLine();
    ICredentials credentials = new NetworkCredential(strUser,strPassword);
    try
    ws.Credentials = credentials;
    Console.WriteLine(ws.echoString("Hello World"));
    catch (Exception err)
    Console.WriteLine(err.Message);
    finally
    Console.ReadLine();

Maybe you are looking for