Java Web services - objects

Unable to create webservice objects and further webservice proxy objects for Value objects which are stored in arraylist and sent via parent Value objects, i.e. if an object of "class1" is returned from one of the EJB's business method with an arraylist filled with "class2" objects, only "class1" objects are visible in webservice and Deployable Proxy not the "class2" objects

Hi,
On the proxy side you would see what is defined in the wsdl of the web service.
In the wsdl I would say that class2 is not defined at all, and this is why you cannot see the class2 elements on the consumer side.
As fast workaround - in order class2 to appear in the wsdl, made an echo method in the web service which uses class2 as parameter.
~Dimitar

Similar Messages

  • Help need in Java Web Service method receiving object values as null

    Below is my web method and Package is the object received from dotnet client as a consumer. I have also defined the Package object structure. Now when I receive the data from dotnet I get only identifier value, but I get ownerid and price as null, even both values are sent by Dotnet client. I want to know whether only primitive datatype in java web service works or I need to do some configuration changes in order to have build in Wrapper class datatypes? It would be a great help if somebody explains.
    @WebMethod
    @WebResult(name = "PackageId")
    public long createNewPackage(@WebParam(name = "Package") com.db.radar.wl.data.Package data1,@WebParam(name = "PackageDetail") PackageDetail data2,@WebParam(name = "PackageTrade") PackageTrade data3);
    public class Package {
    Long ownerid;
    Double price;
    long identifier;
    }

    Hi ,
    I am getting the same error. I am running my application on jboss-4.0.4.GA. Please let me know the version of jboss that you to got it working.
    Thanks
    Viv

  • Using request object in java web service code

    Hi,
    I am working on a java web service and require the request object in my code.
    This is because i want to get the name of the user who is using this web service.
    I am getting error in the line
    IPortalComponentRequest request = (IPortalComponentRequest) this.getRequest();
    Please guide me how to use the request object.
    Please also suggest if there is any other way to get the name of the user who is using the web service.

    Simple answer: This is not possible due a web service doesn't has such request objects.
    If you want to use the user information you have to pass it from the programm logic you are calling the web service. When you have e.g. a JSPDynPage you can read out the user information and supply this information for your web service.

  • The Best Java Web Services Technology for Developing Web Services

    Hi,
    I am new to Web services world.
    I read the java web services page . there are more than 6 technologies.
    JAX-WS,
    JAX-RPC,
    JAXB,
    SAAJ,
    JAXP,
    WSIT,
    XWS-Security
    I went through several documents on web services.
    I could not get a clear idea of which technolgy to use.
    Which Java web service technology will be the best to develop web services independant of language, platform.
    or is there any 3rd party implemetations available ? for rapid development of web services.
    Could anyone help me !.
    Thanks in advance.
    Message was edited by:
    Siva.Prakash

    Which Java web service technology will be the best
    to develop web services independant of language,
    platform.
    Java by nature is a cross-platform language, so if your focus is on the need for portability, the choisce of WS should not be a problem. However, each WS is best suited for paricular uses.
    SAAJ, a low-level level API, offers much simplicity, but is not the first choice for programmers, as SOAP (Simple Object Access Protocol)messages need to be constructed piece by piece, making it a quite arduous code to program.
    If you are not familiar with XML, your best bet would be to use JAX-RPC (Java API for XML-Remote Procedure Calls), as it hides the underlying detail from the programmer, in terms of SOAP and XML. The shortcoming with RPC-based WS is that it is "restricted to the local programming experience". Another failing is that assumes there is a network path- a reliability concern.
    If your program will be contacting other services during downtimes, unlike JAX-RPC, JAXM is quite useful. However, your listing did not mention it, so I wont cover it.
    JAXR is a client-side only API that acts as an interface between registries (not referring to JAXP)
    I am not famiiar with JAXB, JAXP, WSIT or XWS-Security..
    or is there any 3rd party implemetations available ?It depends on what platform you are used to. Assuming you are familiarized with the J2EE platform (now changed to Java EE SDK), the NetBeans IDE (either 5.5, 5.5.1 or the latest editiion) is quite useful. I am using 5.5.1, but have found that it is quite buggy, especially when adding WS operations, a core requirement of a WS. if you will be using to devlop a service for an immediate need, you may find the learning curve to be a bit high, in terms of getting to grips with how to use it. (Download link:
    http://www.netbeans.info/downloads/index.php)
    The IBM Autonomic IDE (or AIDE), based on the WSDM standard, includes 3 sub-tools, icluding the IBM Manageability Endpoint Builder which, according to their website, allows individuals to build endpoints to allow manageability interface exposure; Manageable Resource Browser and the IBM Manageability Endpoint Simulator. However, I'm not familiar with this IDE. (Download link: http://www.alphaworks.ibm.com/tech/aide/download)
    The .NET Framework uses the Visual Studio IDE. For an unbiased comparison of J2EE and the .NET Framework in terms of WS, see http://www.webservicesarchitect.com/content/articles/hanson01.asp.
    Apache Axis2, Geronimo and JiBX allows fast development of WS, or so the creators profess.
    The PHP environment- you could try NuSPHERE PHPed. According to one website, with it you can develop a web service in under an hour.
    I hope this was useful to you.
    [Based partly on Topley, K. (2003) [i]Java TM Web Services in a Nutshell: A desktop Quick Reference. 1st ed. California: O�Reilly & Associates, Inc]

  • Call thirty party java web service but always return null

    hi
    I call a java web service in my application visual studio 2008 c#, but always return NULL.
    I used Tool Fiddler to monitor the traffic between my client and the web service server, it showed the return is not Null.
    Here is my code, please see if anything I do wrong.
    namespace CanOfficer_THQ_vs_IHQ.TestWebReferenceAppointment {
    using System.Diagnostics;
    using System.Web.Services;
    using System.ComponentModel;
    using System.Web.Services.Protocols;
    using System;
    using System.Xml.Serialization;
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Web.Services", "2.0.50727.5483")]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Web.Services.WebServiceBindingAttribute(Name="AppointmentServiceSoapBinding", Namespace="http://service.ips.salvationarmy.org/")]
    public partial class AppointmentService : Microsoft.Web.Services3.WebServicesClientProtocol {
    private System.Threading.SendOrPostCallback deleteAppOperationCompleted;
    private System.Threading.SendOrPostCallback importAppOperationCompleted;
    private System.Threading.SendOrPostCallback editAppOperationCompleted;
    private bool useDefaultCredentialsSetExplicitly;
    /// <remarks/>
    public AppointmentService() {
    this.Url = global::CanOfficer_THQ_vs_IHQ.Properties.Settings.Default.CanOfficer_THQ_vs_IHQ_TestWebReferenceAppointment_AppointmentService;
    if ((this.IsLocalFileSystemWebService(this.Url) == true)) {
    this.UseDefaultCredentials = true;
    this.useDefaultCredentialsSetExplicitly = false;
    else {
    this.useDefaultCredentialsSetExplicitly = true;
    public new string Url {
    get {
    return base.Url;
    set {
    if ((((this.IsLocalFileSystemWebService(base.Url) == true)
    && (this.useDefaultCredentialsSetExplicitly == false))
    && (this.IsLocalFileSystemWebService(value) == false))) {
    base.UseDefaultCredentials = false;
    base.Url = value;
    public new bool UseDefaultCredentials {
    get {
    return base.UseDefaultCredentials;
    set {
    base.UseDefaultCredentials = value;
    this.useDefaultCredentialsSetExplicitly = true;
    /// <remarks/>
    public event deleteAppCompletedEventHandler deleteAppCompleted;
    /// <remarks/>
    public event importAppCompletedEventHandler importAppCompleted;
    /// <remarks/>
    public event editAppCompletedEventHandler editAppCompleted;
    /// <remarks/>
    [System.Web.Services.Protocols.SoapDocumentMethodAttribute(
    RequestNamespace="http://service.ips.salvationarmy.org/",
    ResponseNamespace="http://service.ips.salvationarmy.org/",
    Use=System.Web.Services.Description.SoapBindingUse.Encoded,
    ParameterStyle=System.Web.Services.Protocols.SoapParameterStyle.Wrapped)]
    [return: System.Xml.Serialization.XmlElementAttribute("return", Form=System.Xml.Schema.XmlSchemaForm.Unqualified)]
    public string deleteApp([System.Xml.Serialization.XmlElementAttribute(Form=System.Xml.Schema.XmlSchemaForm.Unqualified)] int id) {
    object[] results = this.Invoke("deleteApp", new object[] {
    id});
    return ((string)(results[0]));
    /// <remarks/>
    public void deleteAppAsync(int id) {
    this.deleteAppAsync(id, null);
    /// <remarks/>
    public void deleteAppAsync(int id, object userState) {
    if ((this.deleteAppOperationCompleted == null)) {
    this.deleteAppOperationCompleted = new System.Threading.SendOrPostCallback(this.OndeleteAppOperationCompleted);
    this.InvokeAsync("deleteApp", new object[] {
    id}, this.deleteAppOperationCompleted, userState);
    private void OndeleteAppOperationCompleted(object arg) {
    if ((this.deleteAppCompleted != null)) {
    System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg));
    this.deleteAppCompleted(this, new deleteAppCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState));
    /// <remarks/>
    [System.Web.Services.Protocols.SoapDocumentMethodAttribute(
    RequestNamespace="http://service.ips.salvationarmy.org/",
    ResponseNamespace="http://service.ips.salvationarmy.org/",
    Use=System.Web.Services.Description.SoapBindingUse.Encoded,
    ParameterStyle=System.Web.Services.Protocols.SoapParameterStyle.Wrapped)]
    [return: System.Xml.Serialization.XmlElementAttribute("return", Form=System.Xml.Schema.XmlSchemaForm.Unqualified)]
    public string importApp(
    [System.Xml.Serialization.XmlElementAttribute(Form=System.Xml.Schema.XmlSchemaForm.Unqualified)] int person,
    [System.Xml.Serialization.XmlElementAttribute(Form=System.Xml.Schema.XmlSchemaForm.Unqualified)] string name,
    [System.Xml.Serialization.XmlElementAttribute(Form=System.Xml.Schema.XmlSchemaForm.Unqualified)] string territory,
    [System.Xml.Serialization.XmlElementAttribute(Form=System.Xml.Schema.XmlSchemaForm.Unqualified)] string location,
    [System.Xml.Serialization.XmlElementAttribute(Form=System.Xml.Schema.XmlSchemaForm.Unqualified)] bool primary,
    [System.Xml.Serialization.XmlElementAttribute(Form=System.Xml.Schema.XmlSchemaForm.Unqualified)] Nullable<System.DateTime> start,
    [System.Xml.Serialization.XmlElementAttribute(Form=System.Xml.Schema.XmlSchemaForm.Unqualified)] Nullable<System.DateTime> end,
    [System.Xml.Serialization.XmlElementAttribute("categories", Form=System.Xml.Schema.XmlSchemaForm.Unqualified)] string[] categories) {
    object[] results = this.Invoke("importApp", new object[] {
    person,
    name,
    territory,
    location,
    primary,
    start,
    end,
    categories});
    return ((string)(results[0]));
    /// <remarks/>
    public void importAppAsync(int person, string name, string territory, string location, bool primary, Nullable<System.DateTime> start, Nullable<System.DateTime> end, string[] categories) {
    this.importAppAsync(person, name, territory, location, primary, start, end, categories, null);
    /// <remarks/>
    public void importAppAsync(int person, string name, string territory, string location, bool primary, Nullable<System.DateTime> start, Nullable<System.DateTime> end, string[] categories, object userState) {
    if ((this.importAppOperationCompleted == null)) {
    this.importAppOperationCompleted = new System.Threading.SendOrPostCallback(this.OnimportAppOperationCompleted);
    this.InvokeAsync("importApp", new object[] {
    person,
    name,
    territory,
    location,
    primary,
    start,
    end,
    categories}, this.importAppOperationCompleted, userState);
    private void OnimportAppOperationCompleted(object arg) {
    if ((this.importAppCompleted != null)) {
    System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg));
    this.importAppCompleted(this, new importAppCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState));
    /// <remarks/>
    [System.Web.Services.Protocols.SoapDocumentMethodAttribute(
    RequestNamespace="http://service.ips.salvationarmy.org/",
    ResponseNamespace="http://service.ips.salvationarmy.org/",
    Use=System.Web.Services.Description.SoapBindingUse.Encoded,
    ParameterStyle=System.Web.Services.Protocols.SoapParameterStyle.Wrapped)]
    [return: System.Xml.Serialization.XmlElementAttribute("return", Form=System.Xml.Schema.XmlSchemaForm.Unqualified)]
    public string editApp(
    [System.Xml.Serialization.XmlElementAttribute(Form=System.Xml.Schema.XmlSchemaForm.Unqualified)] int id,
    [System.Xml.Serialization.XmlElementAttribute(Form=System.Xml.Schema.XmlSchemaForm.Unqualified)] string name,
    [System.Xml.Serialization.XmlElementAttribute(Form=System.Xml.Schema.XmlSchemaForm.Unqualified)] string territory,
    [System.Xml.Serialization.XmlElementAttribute(Form=System.Xml.Schema.XmlSchemaForm.Unqualified)] string location,
    [System.Xml.Serialization.XmlElementAttribute(Form=System.Xml.Schema.XmlSchemaForm.Unqualified)] bool primary,
    [System.Xml.Serialization.XmlElementAttribute(Form=System.Xml.Schema.XmlSchemaForm.Unqualified)] Nullable<System.DateTime> start,
    [System.Xml.Serialization.XmlElementAttribute(Form=System.Xml.Schema.XmlSchemaForm.Unqualified)] Nullable<System.DateTime> end,
    [System.Xml.Serialization.XmlElementAttribute("categories", Form=System.Xml.Schema.XmlSchemaForm.Unqualified)] string[] categories) {
    object[] results = this.Invoke("editApp", new object[] {
    id,
    name,
    territory,
    location,
    primary,
    start,
    end,
    categories});
    return ((string)(results[0]));
    /// <remarks/>
    public void editAppAsync(int id, string name, string territory, string location, bool primary, Nullable<System.DateTime> start, Nullable<System.DateTime> end, string[] categories) {
    this.editAppAsync(id, name, territory, location, primary, start, end, categories, null);
    /// <remarks/>
    public void editAppAsync(int id, string name, string territory, string location, bool primary, Nullable<System.DateTime> start, Nullable<System.DateTime> end, string[] categories, object userState) {
    if ((this.editAppOperationCompleted == null)) {
    this.editAppOperationCompleted = new System.Threading.SendOrPostCallback(this.OneditAppOperationCompleted);
    this.InvokeAsync("editApp", new object[] {
    id,
    name,
    territory,
    location,
    primary,
    start,
    end,
    categories}, this.editAppOperationCompleted, userState);
    private void OneditAppOperationCompleted(object arg) {
    if ((this.editAppCompleted != null)) {
    System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg));
    this.editAppCompleted(this, new editAppCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState));
    /// <remarks/>
    public new void CancelAsync(object userState) {
    base.CancelAsync(userState);
    private bool IsLocalFileSystemWebService(string url) {
    if (((url == null)
    || (url == string.Empty))) {
    return false;
    System.Uri wsUri = new System.Uri(url);
    if (((wsUri.Port >= 1024)
    && (string.Compare(wsUri.Host, "localHost", System.StringComparison.OrdinalIgnoreCase) == 0))) {
    return true;
    return false;
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Web.Services", "2.0.50727.5483")]
    public delegate void deleteAppCompletedEventHandler(object sender, deleteAppCompletedEventArgs e);
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Web.Services", "2.0.50727.5483")]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    public partial class deleteAppCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs {
    private object[] results;
    internal deleteAppCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) :
    base(exception, cancelled, userState) {
    this.results = results;
    /// <remarks/>
    public string Result {
    get {
    this.RaiseExceptionIfNecessary();
    return ((string)(this.results[0]));
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Web.Services", "2.0.50727.5483")]
    public delegate void importAppCompletedEventHandler(object sender, importAppCompletedEventArgs e);
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Web.Services", "2.0.50727.5483")]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    public partial class importAppCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs {
    private object[] results;
    internal importAppCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) :
    base(exception, cancelled, userState) {
    this.results = results;
    /// <remarks/>
    public string Result {
    get {
    this.RaiseExceptionIfNecessary();
    return ((string)(this.results[0]));
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Web.Services", "2.0.50727.5483")]
    public delegate void editAppCompletedEventHandler(object sender, editAppCompletedEventArgs e);
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Web.Services", "2.0.50727.5483")]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    public partial class editAppCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs {
    private object[] results;
    internal editAppCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) :
    base(exception, cancelled, userState) {
    this.results = results;
    /// <remarks/>
    public string Result {
    get {
    this.RaiseExceptionIfNecessary();
    return ((string)(this.results[0]));

    Hi;
    I used Fiddler to monitor the process, and it showed the request sent thru web service worked and returned a value, but in my .Net application the return captured as NULL. Could you please look into the code above and the result from Filddler and see if
    you can help.
    thank you.
    REQUEST:
    POST https://159.253.140.178/services/AppointmentService HTTP/1.1
    User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; MS Web Services Client Protocol 2.0.50727.4252)
    Content-Type: text/xml; charset=utf-8
    SOAPAction: ""
    Host: 159.253.140.178
    Content-Length: 1589
    Expect: 100-continue
    Connection: Keep-Alive
    <?xml version="1.0" encoding="utf-8"?>
    <soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/" xmlns:tns="http://service.ips.salvationarmy.org/" xmlns:types="http://service.ips.salvationarmy.org/encodedTypes" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:wsa="http://schemas.xmlsoap.org/ws/2004/08/addressing">
    <soap:Header>
    <wsse:Security mustUnderstand="1" xmlns:wsse="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd">
    <wsse:UsernameToken xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd">
    <wsse:Username>
    [email protected]
    </wsse:Username>
    <wsse:Password Type="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-username-token-profile-1.0#PasswordText">
    tpi4IPSws!
    </wsse:Password>
    </wsse:UsernameToken>
    </wsse:Security>
    </soap:Header>
    <soap:Body soap:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/">
    <tns:importApp>
    <person xsi:type="xsd:int">
    169275
    </person>
    <name xsi:type="xsd:string">
    Corps Officer (Cahul-Russia) Test12
    </name>
    <territory xsi:type="xsd:string">
    CAN
    </territory>
    <location xsi:type="xsd:string">
    TEST LOCATION 12
    </location>
    <primary xsi:type="xsd:boolean">
    true
    </primary>
    <start xsi:type="xsd:dateTime">
    2013-05-30T00:00:00
    </start>
    <end xsi:type="xsd:dateTime">
    2014-06-04T00:00:00
    </end>
    <categories href="#id1" />
    </tns:importApp>
    <soapenc:Array id="id1" soapenc:arrayType="xsd:string[1]">
    <Item>
    vpsCat1
    </Item>
    </soapenc:Array>
    </soap:Body>
    </soap:Envelope>
    RESPONSE:
    HTTP/1.1 200 OK
    Server: Apache-Coyote/1.1
    Content-Type: text/xml;charset=UTF-8
    Content-Length: 232
    Date: Fri, 05 Sep 2014 19:45:22 GMT
    <soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
    <soap:Body>
    <ns2:importAppResponse xmlns:ns2="http://service.ips.salvationarmy.org/">
    <return>
    OK_572463
    </return>
    </ns2:importAppResponse>
    </soap:Body>
    </soap:Envelope>

  • Handling Java Web Service Exception in ABAP

    Hi
    I have created a web service in Java using NWDS.
    Which has a businessMethod which throws a Exception based on certain business logic.
    I have consumed this  Web Service Method using .NET Client.
    i am able to catch the Exception and get the Exceltion Message.
    But when i try to consume the same web service Method in ABAP,
    i am not getting the Exception Message .
    The Method call works fine.
    What am i missing here ?
    regards
    Rajendra

    Hi,
    Upon further investigation and comparison of the custom exception object (generated during consumer proxy creation for a CUSTOM web service) with a standard exception object(generated during consumer proxy creation for a STANDARD web service) I found that the sub-elements of the exception structure errorPart are not available in the custom exception object (and one of these sub-elements is the message text).
    Call Stack,ExceptionName and MessageText Elements are missing in the errorPart node of Exception
    Node. as seen in the ABAP Exception structure generated.
    Queries:
    1.       Are there any standards which need to be followed when coding exceptions in the Java web service for consumption in ABAP such that all sub-elements of the exception object are also created in ABAP during the proxy creation?
    2.       Can we get the Java code for a standard web service available in SAP Netweaver? Asking the same as the exception object created for the standard web service RoomABAPWS contains the sub-elements. Getting the Java code of the same will be very helpful in resolving the issue.
    Regards
    Rajendra

  • Java web services tutorial.

    Hi i have seen and tried the Java web services JAX-RPC tutorial.
    And i have a question here.
    If i want to invoke lets say a web service on a .NET platform, can i still use JAX-RPC to invoke it?
    Must the server implement JAX-RPC if i want to use it on the client side?
    sorry i still not clear about it.

    once you are done creating .war files having WSDL and all, deploy it on Tomcat or any other web container.
    create .vb (or which ever language) stub for the JAX-RPC service using WSDL.exe for the .NET enviornment.
    In your .NET enviornment, import this stub in your project. In your code, you can define a local varible as a "JavaService" object and assign the instance of your jax-rpc service and use the local variable methods as any other object method calls.

  • Java Web Services wrapper and connection management.

    We are currently evaluating the use of the SES Java web-services for a custom front end. I've downloaded the sample code and have read through the documentation but I'm confused on a few points.
    We will be OSSO protecting the app, so the flow I think I need to use is (on the OracleSearchService object):
    *setSoapURL
    *proxyLogin
    *setSearchUser
    *doOracleSearch
    (do whatever with results)
    From what I can tell each one of these does a separate call into the actual web service. Does this keep a connection open between these calls and if so how do we need to manage our connections in this case. Is there an explicit close method we should be calling? I see that we can get an OracleSoapHTTPConnection from the undocumented getConnection method on OracleSearchService but I'm unsure if we are supposed to interact with it directly.
    In a related vein how should we managing our OracleSearchService objects? Should we save an instance for each user in our httpSession, or just create a new instance on each call?
    Any insights appreciated,
    Jason

    No Problem at all
    Nomally the Web Service is big different between Web application. or you can build your Web service structure like web application structure. It depends on the web server:
    If the Web Server of hosting company has WEB Service framework, you just need know how to deploy your Web service to Web Service framework and How to deploy to Web Server. In this case, you need deploy it two time, one is for Web Server framework and one is for Web Service framework
    If the Web Server of hosting company doesn't has WEB Service framework, you need build your own Web Service framework into a web application, then you just need know how to deploy your web application with Web service into Web Server framework

  • "java Web Service from WSDL" just hands me a SOAPElement, no java mappings

    Another beginner question. I've used jdev and built a WSDL starting from a somewhat complex xsd. I've used the wizard "Java Web Service From WSDL" taking defaults. It seems to correctly generate class files for all my xsd types. It produces a fancy looking java-wsdl-mapping.xml But the generated stub service implementation just gets handed a SOAPElement object. Why generate all that mapping stuff and then make me parse the incoming data myself with SOAPElement methods? How am I supposed to make use of the mapping work that the wizard seems to have done for me?
    Thanks,
    Steve

    Dear Tugdual,
    Thanks for your intrest in my issue. I narrowed it down to the following type in my xsd
    <complexType name="PersonInfoType">
    <sequence >
    <element name="FamilyName" type="string"/>
    <element name="IndividualName" type="string"/>
    <element name="SpouseName" type="string"/>
    <element name="BirthDate" type="dateTime"/>
    </sequence>
    </complexType>
    This works fine - the "WebSerice From WSDL" wizard "knows" how to generate a class for PersonInfoType (with geters and seters) as well as useful stub implementation:
    public class PersonInfoImpl {
    public PersonInfoType processPersonInfo(String entityCode) {
    return null;
    However, if I make my type multiple occuring (to represnt e.g. rows from a db)
    <complexType name="PersonInfoType">
    <sequence maxOccurs="unbounded" >
    <element name="FamilyName" type="string"/>
    <element name="IndividualName" type="string"/>
    <element name="SpouseName" type="string"/>
    <element name="BirthDate" type="dateTime"/>
    </sequence>
    </complexType>
    Now the Web Service generator runs, but just doesn't generate any PersonInfoType class at all. For a stub implementation it genertes the following:
    public class PersonInfoImpl {
    public SOAPElement processPersonInfo(String entityCode) {
    return null;
    Now I'm stuck with the container just expecting from me a Soap Object and I have to build all the pieces myself with no java mappings to my xsd at all. Not very useful.
    Is there another xml structure I can use to represent data rows that is better supported by the wizard?
    Thanks,
    Steve

  • Java web service with php SOAP client

    Hi!
    I have a Java web service with a procedure, which connects to a database:
    public boolean connectDB(String driver,String host, String user, String password)
    try {
    Class.forName(driver);
    connection =
    DriverManager.getConnection
    host
    , user
    , password
    return true;
    } catch (Exception v_exception) {
    System.out.println("connectDB(): " + v_exception);
    return false;
    If I call it from a PHP client, it doesn't work but doesn't throw any exceptions on the server side.
    The way I call it:
    $client = new SoapClient
    (<path>);
    try
    $conn=$client->connectDB();
    catch (SoapFault $exception)
    echo "\nexception: " .$exception;
    On the client side, I have an exception, but it's not very detailed:
    exception: Object id #2
    I had a simple function, too, which returns a string:
    public String getTestString()
    return "test";
    and if I call it from PHP, it's working...
    What may be the problem?

    Neither the simple "setter" methods work.. :(
    The php client side:
    $string="aladar";
    $client->setSample($string);
    $return = $client->getSample();
    The server side:
    public String sample;
    public String getSample() {
    return sample;
    public void setSample(String a_sample) {
    sample = a_sample;
    Any ideas?

  • Java Web Service "clears" sop:Include/ from SOAP Body?

    I have a Java Web Service which processes SOAP Messages with MIME attachments. The references to the attachments are using XOP (XML-binary Optimized Packaging) specification.
    The XML Schema for the SOAP Body content imports the namespace "http://www.w3.org/2004/08/xop/include", but it is not its main target namespace. When I run the service and view the HTTP packet through HTTP Analyzer, the SOAP Envelope looks like this:
    <env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope"
                  xmlns:xsd="http://www.w3.org/2001/XMLSchema"
                  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
                  xmlns:ns0="http://www.ACORD.org/Standards/AcordMsgSvc/1"
                  xmlns:xop="http://www.w3.org/2004/08/xop/include"
                  xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd">
        <env:Header>
        </env:Header>
        <env:Body>
            <ac:CallRq xmlns:ac="http://www.ACORD.org/Standards/AcordMsgSvc/1">
                <ac:WorkFolder>
                    <ac:MsgFile>
                        <ac:FileId>
    <sop:Include href="cid:93609df7-d718-4801-bab9-57e3fd9cc5b5"
    xmlns:sop="http://www.w3.org/2004/08/xop/include"
    xsi:schemaLocation="http://www.w3.org/2004/08/xop/include http://www.w3.org/2004/08/xop/include"/>
    </ac:FileId>
                        <ac:FileFormatCd>text/xml</ac:FileFormatCd>
                    </ac:MsgFile>
                </ac:WorkFolder>
            </ac:CallRq>
        </env:Body>
    </env:Envelope>But when I access the java.xml.soap.SOAPMessage object in handleRequest(MessageContext) method of the Web Service's handler I get the following:
    <env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope"
                  xmlns:xsd="http://www.w3.org/2001/XMLSchema"
                  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
                  xmlns:ns0="http://www.ACORD.org/Standards/AcordMsgSvc/1"
                  xmlns:xop="http://www.w3.org/2004/08/xop/include"
                  xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd">
        <env:Header>
        </env:Header>
        <env:Body>
            <ac:CallRq xmlns:ac="http://www.ACORD.org/Standards/AcordMsgSvc/1">
                <ac:WorkFolder>
                    <ac:MsgFile>
                        <ac:FileId>
    </ac:FileId>
                        <ac:FileFormatCd>text/xml</ac:FileFormatCd>
                    </ac:MsgFile>
                </ac:WorkFolder>
            </ac:CallRq>
        </env:Body>
    </env:Envelope>As you can see, the <sop:Include/> element has disappeared.
    Does anyone has an idea why this happens?
    Thank you!
    Simeon

    Neither the simple "setter" methods work.. :(
    The php client side:
    $string="aladar";
    $client->setSample($string);
    $return = $client->getSample();
    The server side:
    public String sample;
    public String getSample() {
    return sample;
    public void setSample(String a_sample) {
    sample = a_sample;
    Any ideas?

  • Consuming Java Web Service with complex return types

    Hi,
    I'm consuming a Java Web Service and the return I get in
    ColdFusion is a typed Java Object (with custom Java classes like
    com.company.project.JavaClass ...)
    Within this object I don't get direct accessible properties
    as when I'm consuming ColdFusion Web Services, instead I get a
    getPROPERTYNAME and setPROPERTYNAME method for each property.
    How can I handle this? I don't want to call this methods for
    each property (and there are nested objects with arrays of custom
    classes below, which would really make this complicated).
    What's the best way to cope up with this?
    Thanks a lot,
    Fritz

    The web service is actually the function, not the cfc and you
    didn't show a function.
    My own opinion is that since webservices by definition should
    be available to any calling app (cold fusion, .net, flash, etc),
    whatever gets returned from the method should be as universally
    recognizable as possible. This generally means text, numbers,
    boolean, or xml.

  • Calling a java web service from R/3 6.0

    hi experts,
    can anyone please tell me how to call a java web service from R/3 6.0?
    i found some answers to this question but all those were for 6.4 or 6.2 but not for 6.0.
    i want to generate a outbound flow from ERP system. so please tell me something about web service in that context.
    Thanks in advance,
    Sagar.

    Hi!!!
    I would do this scenario as a synchronous one:
    [SAP R/3][ABAP proxy objects] <-> [XI]<->[SOAP Adapter]<--->[external java app]
    In your ABAP transaction you will have to execute ABAP proxy method to send a message to XI. If it's not your transaction, you can use user-exit.
    BTW, I have an experience with XI 2.0, not with 3.0, so I used a XI 2.0 terminology.
    Regards,
    Andrzej Filusz

  • Unable to create java web service

    morning all
    Being new to ejbs I created a simple ejb project comprising one entity bean and one session bean. The session bean exposes two methods one to retrieve individual employee data (return object EmployeeData class which implements java.o.Serializable) and a second retrieving all employee data (return object java.util.Collection).
    When I attempt to create a Java Web Service and select the session bean to expose as a web service the method are grayed out, clicking 'Why Not?' displays a message box showing the message
    'The following parameter types do not have an XML Schema Mapping and\or serializer specified'
    What does this mean and how do I solve it?

    Hi,
    The java.io.Serializable marker is not consulted when determining whether a Java object can be transmitted in a web service invocation. Instead, each parameter and return value of a web service method must conform to one of the 3 rules below:
    1. It is a Java primitive (int, long, byte etc.), Java primitive wrapper (java.lang.Integer etc.), or a java.lang.String.
    2. It is a Java bean with a zero-argument constructor, and a pair of "get" and "set" methods for each property to be exposed. Each property must itself conform to one of these 3 rules.
    3. It is an array of a type that meets either rule 1 or rule 2.
    In the first case, I'd hazard a guess that your EmployeeData class doesn't have the form of a Java bean. Make sure it's got the zero-argument constructor, and that all of the "get" and "set" methods use types which are themselves publishable.
    In the second case, java.util.Collection doesn't conform to any of the 3 rules above. However, once you've fixed your EmployeeData class, you can convert the method that returns the Collection into a method that returns a EmployeeData[], which you will be able to publish in your web service.
    Hope that helps,
    Alan.

  • Serialization error while invoking a Java web service

    Hi,
    I've a requirement where I need to create a Java web service, which returns a collection (a set of records).
    The way I've created a web service is by having a Java Class, which internally calls a Pl/sql package returning Ref cursors and a bean Class, which wraps the method of the Java Class, to return the collection. I could create the web service successfully and could invoke the end point. The end point looks like this: http://localhost:8988/MyJavaWebService-New_JWS-context-root/MyWebService_finalSoapHttpPort
    The method exposed for the web service in my Java class is of type ArrayList, to fetch the collection element.
    After giving the input at the end point, while I say invoke, for the web service, I get the following error:
    <env:Envelope
    xmlns:env="http://schemas.xmlsoap.org/soap/envelope/"
    xmlns:xsd="http://www.w3.org/2001/XMLSchema"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xmlns:ns0="http://mypkg/types/"
    xmlns:ns1="http://www.oracle.com/webservices/internal/literal">
    <env:Body>
    <env:Fault>
    <faultcode>env:Server</faultcode>
    <faultstring>Internal Server Error (serialization error: no serializer is registered for (class mypkg.EmpBean, null))</faultstring>
    </env:Fault>
    </env:Body>
    </env:Envelope>
    I've tried making my exposed method of type Vector as well and re-generated the web service. But still I face the same issue at invocation.
    Can anybody help me out and hint me on how I should proceed? I'm not sure if my approach is correct and so please correct me if I'm wrong.
    Thanks in Advance,
    Gayathri

    Hi,
    do you use 10.1.2 or 10.1.3?
    Take a look at:
    Re: How to create a web service with ArrayList or Collection

Maybe you are looking for