Problem deploying web service with the deploy tool (J2EE)

Hello,
I am trying to deploy a sample Web Service on the Sun Java System Application Server Platform Edition 8.1 2005Q1.
I run into a deployment problem ("jaxrpc compilation exception") when I have one of the web methods declared (in the endpoint interface) to throw a service-specific exception. The problem disappears when I change the declaration to throw an Exception.
Here is the exception class:
public class StockNotFoundException extends Exception {
private String message;
public StockNotFoundException(String message) {
super(message);
this.message = message;
public String getMessage() {
return message;
the endpoint interface:
public interface StockServiceIF extends Remote {
// the service methods
public boolean sellStocks(String ticker, int quantity)
throws RemoteException, StockNotFoundException;
and here are the error messages I am seeing:
in the deploy tool dialog:
distribute: C:\Beginning J2EE 1.4\Ch13\StockServiceApp\StockServiceApp.ear
deployment started : 0%
Deploying application in domain failed; Fatal Error from EJB Compiler -- jaxrpc compilation exception
; requested operation cannot be completed
!!! Operation Failed !!!
!!! With The Following Failure Messages !!!
Deploying application in domain failed; Fatal Error from EJB Compiler -- jaxrpc compilation exception
; requested operation cannot be completed
Fatal Error from EJB Compiler -- jaxrpc compilation exception
and in the server log:
[#|2005-02-01T18:30:47.856-0600|INFO|sun-appserver-pe8.1|javax.enterprise.system.tools.deployment|_ThreadID=12;|DPL5109: EJBC - START of EJBC for [StockServiceApp]|#]
[#|2005-02-01T18:30:47.856-0600|INFO|sun-appserver-pe8.1|javax.enterprise.system.tools.deployment|_ThreadID=12;|Processing beans ...|#]
[#|2005-02-01T18:30:47.936-0600|INFO|sun-appserver-pe8.1|javax.enterprise.system.stream.out|_ThreadID=12;|
error: incorrect fault part name for fault "StockNotFoundException" of operation "sellStocks": "StockNotFoundException"|#]
[#|2005-02-01T18:30:47.966-0600|INFO|sun-appserver-pe8.1|javax.enterprise.system.tools.deployment|_ThreadID=12;|Total Deployment Time: 1001 msec, Total EJB Compiler Module Time: 0 msec, Portion spent EJB Compiling: 0%|#]
[#|2005-02-01T18:30:47.966-0600|SEVERE|sun-appserver-pe8.1|javax.enterprise.system.tools.deployment|_ThreadID=12;|Exception occured in J2EEC Phase
com.sun.enterprise.deployment.backend.IASDeploymentException: Fatal Error from EJB Compiler -- jaxrpc compilation exception
     at com.sun.enterprise.webservice.codegen.JaxRpcRICodegen.accept(JaxRpcRICodegen.java:206)
     at com.sun.enterprise.deployment.EjbBundleDescriptor.visit(EjbBundleDescriptor.java:584)
     at com.sun.enterprise.deployment.Application.visit(Application.java:1333)
     at com.sun.enterprise.webservice.codegen.JaxRpcRICodegen.run(JaxRpcRICodegen.java:103)
     at com.sun.ejb.codegen.IASEJBC.doCompile(IASEJBC.java:785)
     at com.sun.ejb.codegen.IASEJBC.ejbc(IASEJBC.java:563)
     at com.sun.enterprise.deployment.backend.EJBCompiler.preDeployApp(EJBCompiler.java:340)
     at com.sun.enterprise.deployment.backend.EJBCompiler.compile(EJBCompiler.java:209)
     at com.sun.enterprise.deployment.backend.AppDeployer.runEJBC(AppDeployer.java:284)
     at com.sun.enterprise.deployment.backend.AppDeployer.deploy(AppDeployer.java:176)
     at com.sun.enterprise.deployment.backend.AppDeployer.doRequestFinish(AppDeployer.java:107)
     at com.sun.enterprise.deployment.phasing.J2EECPhase.runPhase(J2EECPhase.java:146)
     at com.sun.enterprise.deployment.phasing.DeploymentPhase.executePhase(DeploymentPhase.java:71)
     at com.sun.enterprise.deployment.phasing.PEDeploymentService.executePhases(PEDeploymentService.java:633)
     at com.sun.enterprise.deployment.phasing.PEDeploymentService.deploy(PEDeploymentService.java:188)
     at com.sun.enterprise.deployment.phasing.PEDeploymentService.deploy(PEDeploymentService.java:520)
     at com.sun.enterprise.management.deploy.DeployThread.deploy(DeployThread.java:143)
     at com.sun.enterprise.management.deploy.DeployThread.run(DeployThread.java:171)
|#]
I would appreciate any pointers to resolving this issue.
Thanks,
Satyen

Can you post the WSDL that was generated by the tool
for this interface ?I generate the WSDL using "wscompile -define -nd . -classpath ..\build\classes -f:wsi service-config.xml", and here it is:
<?xml version="1.0" encoding="UTF-8"?>
<definitions name="StockService" targetNamespace="urn:stockService" xmlns:tns="urn:stockService" xmlns="http://schemas.xmlsoap.org/wsdl/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/">
<types>
<schema targetNamespace="urn:stockService" xmlns:tns="urn:stockService" xmlns:soap11-enc="http://schemas.xmlsoap.org/soap/encoding/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" xmlns="http://www.w3.org/2001/XMLSchema">
<complexType name="StockNotFoundException">
<sequence>
<element name="message" type="string" nillable="true"/></sequence></complexType>
<element name="StockNotFoundException" type="tns:StockNotFoundException"/></schema></types>
<message name="StockServiceIF_sellStocks">
<part name="String_1" type="xsd:string"/>
<part name="int_2" type="xsd:int"/></message>
<message name="StockServiceIF_sellStocksResponse">
<part name="result" type="xsd:boolean"/></message>
<message name="StockNotFoundException">
<part name="StockNotFoundException" element="tns:StockNotFoundException"/></message>
<portType name="StockServiceIF">
<operation name="sellStocks" parameterOrder="String_1 int_2">
<input message="tns:StockServiceIF_sellStocks"/>
<output message="tns:StockServiceIF_sellStocksResponse"/>
<fault name="StockNotFoundException" message="tns:StockNotFoundException"/></operation></portType>
<binding name="StockServiceIFBinding" type="tns:StockServiceIF">
<soap:binding transport="http://schemas.xmlsoap.org/soap/http" style="rpc"/>
<operation name="sellStocks">
<soap:operation soapAction=""/>
<input>
<soap:body use="literal" namespace="urn:stockService"/></input>
<output>
<soap:body use="literal" namespace="urn:stockService"/></output>
<fault name="StockNotFoundException">
<soap:fault name="StockNotFoundException" use="literal"/></fault></operation></binding>
<service name="StockService">
<port name="StockServiceIFPort" binding="tns:StockServiceIFBinding">
<soap:address location="REPLACE_WITH_ACTUAL_URL"/></port></service></definitions>
---------------------------------------------------------------------------------------------------------

Similar Messages

  • Deploy a web service with the deploy tool (J2EE)

    Hi!
    I want to deploy a web service with the Deploy Tool (J2EE 1.4).
    (For info, I'm working on Win 2000.)
    I have the following error when I'm trying to deploy:
    distribute: C:\monHello2\monApp.ear
    Deploy action running...
    Deployment failed on target localhost:4848_server : Fatal Error from EJB Compiler -- jaxrpc compilation exception
    !!! Operation Failed !!!
    Someone can help me, please? What's the problem?
    Other question: when I create the WAR file, I have to add : my interface class, my implementation class, my others java classes, my WSDL file and my mapping.xml file.
    Should I add the .jar that is used by one of my class???? I think yes, but...
    thank you and excuse me for my english... ;o)

    Only primitive types can be returned? Is thatcorrect????
    true - for more details check out section 3.4.1.3 of
    this book which is available for purchase or online
    http://java.sun.com/blueprints/guidelines/designing_w
    ebservices/I meant to say primitive type and "special POJOs" called "JAXRPC Value Types" - check out the reference I listed

  • Problem implementing web services with types generated by jdeveloper 10.1.3

    Hello,
    I have generated a web service using JDeveloper 10.1.3.3. from a WSDL. This WSDL includes a schema with some types defined. There is a element with the following definition:
    <xs:element name="OptionalInputs" type="AnyType"/>
    where:
    <xs:complexType name="AnyType">
    <xs:sequence>
    <xs:any processContents="lax" minOccurs="0" maxOccurs="unbounded"/>
    </xs:sequence>
    </xs:complexType>
    The meaning of the element OptionalInputs is that it can include other elements, of any type, definied within the same schema.
    After generating the web service from the WSDL, I get the following:
    - A Class named 'AnyType' that consists of one element of type
    protected javax.xml.soap.SOAPElement[] _any;
    - Some classes which must be included in an object of type 'AnyType', and that implements java.io.Serializable.
    However, I do not know how to include successfully one of this (serializable) classes into an object of type 'AnyType' (SOAPElement[]).
    Could you be so kind as to help me, please?
    Thank you very much in advance.

    Hi there,
    10.1.3 is not production ready yet, and you will find this warning on the oracle page http://www.oracle.com/technology/tech/java/oc4j/1013/index.html
    "Under no circumstances should it be used in production environments."
    Does this mean that it's not possible to deploy a Doc/Lit webservice to production using JDeveloper? Is there any other way of getting it to work with 10.1.2?
    Thanks,
    Vid.

  • Problem consuming web service with basic authentication

    Hello,
    I've set up a web service with basic authentication. Although I have to log in before being able to open the overview page of the web service in the Web Service Navigator, the response I get after sending a request is:
    Authority check failed
    I get this response in the Web Service Navigator as well as when consuming the web service via standalone proxy classes.
    The following is strange, too: It is not possible to change  authentication in the generated logical port. It is set to "none". I changed it via the XML file where I added the properties "AuthenticationMethod" (value "BasicAuth") and "AuthenticationMechanism" (value "HTTP"). But I got the above response anyway.
    Thanks for your help!
    Regards

    I used basic authentication for my web service.
    I was able to obtain a hardcopy of the logfiles in the meantime. The invocation of the web service is stored there with the following error messages:
    <i>SOAP Runtime: Exception message: Schwerer Prozessierungsfehler macht eine SOAP-Fault-Behandlung erforderlich
    SOAP Runtime: SOAP Fault exception occurred in program CL_SOAP_RUNTIME_SERVER========CP in include CL_SOAP_RU NTIME_SERVER... [the picture is cut here]</i>
    In addition to that I found a thread in SDN that dealt with exactly the same problem:
    Web Service Homepage: Authority check failed
    But I have the same problem like Kimberly Carmack (the last post on the second page). We do not have that role in our system.

  • Problems moving  an object with the selection tool

    Im working on CS2 and since last week I have a problem moving objects with the selection tool: To move the object I am obligate to select the object first, and then click at the edge/stroke of the object to drag it. Before that I could move the objects just by selecting somewhere in the object and then just drag it to some other place in one step. I think I maybe changed something in the general preferences....

    Ho thanks a lot Kurt!!!!! Indeed, that was the problem!!! Finally I can work normally again.... (the joker was me...but not on purpose)
    Thanks again!

  • Problem creating Web Service with Wizard

    Hi,
    I have problems in generating a WebService based on my EJB using the Wizard integrated in SAP Dev. Studio (right click on "ejb-jar.xml" -> New -> Web Service in the J2EE DC Explorer)
    In the method selecting screen the methods of my Bean are shown but I can't select any of them (they are not active)!?
    Has anybody a suggestion concerning this?
    Thx a lot

    You have to make sure that the endpoints to your web service are valid endpoints. For help view the documentation at
    http://help.sap.com/saphelp_nw04/helpdata/en/94/91d32be5b8f945a4122ac6119316df/content.htm
    If your endpoints aren't one of the one's listed you'll run into the problem you are describing

  • Problem generating Web Service with business methods in multiple EJB's

    Hi,
    I'm I a "web service novice" but I'm working with an
    application which was developed in an earlier version
    of Studio which has
    ~30 business method coming from ~12 EJB's. When I attempt
    to recreate the Web Service in Java Studio Enterprise 7 (had same problem versions 5 and 6) I have trouble. When I execute the "Generate Web Service Files" command I get complilation errors in the <webservice_name>.java file. It is obvious that the
    protected Map theJNDIMap = makeJNDIMap();
    protected Map makeJNDIMap() {
         Map m = new HashMap();
         // This map might get changed at deployment time
         m.put(......
    is all screwed up. Entries are missing and the closing bracket isn't even there.
    Is there some user error on my part?
    Is this a know bug (I couldn't any info. and I get the same behavior on the current and older versions of Studio)?
    Is there a workaround? I can fix this particular java file and compile it sucessfully. However, I'm still missing many of the other web service files that should be generated for me.
    All the tutorials on web services that I've done to looked over all get there business method from 1 EJB :(
    Please advise,
    Freda Phelps

    I had a problem too. Successfully created an EJB and its test application. Tested the same using Web client and works fine. Now created a web service from EJB methods. It created the skeletons. When tried creating Web Svc test client or web svc other files..it gives me an exception saying xmlservices.jar doesnt exist in the C:\Docs and Settings\<$username>\.jstudio\Ent04Q4modules. I have searched for this file and copied (overwritten) it into this directory. But still i cant proceed further.

  • Invoking a web service with the WSDL URL given at run time

    I have created a very Simple Web Service using Netbeans 6.0 as an EJB Module. I have successfully created clients to access the web service, both through a Composite Application and through a simple Java Desktop Application, using the create "New Web Service Client" option, either by pointing to the EJB project either by providing the WSDL URL.
    What I want now, is for the Java Desktop application to be able to consume the service after it has discovered the WSDL URL at runtime (e.g. through UDDI).
    From what I have been able to find on the web, I should use the javax.xml.ws.Service class. But when I attempt to use the getPort method I get the exception:
    "com.sun.xml.ws.model.RuntimeModelerException: runtime modeler error: Wrapper class mypackagename.jaxws.MyWebServiceName is not found. Have you run APT to generate them?"
    Since I know that this class is not needed for the Web Service to be accessed, when the two procedures I describe above are used, I wonder what I can do to get this to work.
    I have tried using apt from the command line but it can't find Java EE classes, so it doesn't work.
    Nikos

    Hi Yarecki,
    I'm afraid I'm also a newbie, and I'm feeling my way around things.
    I have written some code. However, you should be warned that... it doesn't work!
            String wsdlLocation;//=...some URL...
            String input;//=...XML...either SOAP message either SOAP payload
         try{
             java.net.URL wsdlURL = new java.net.URL(wsdlLocation);
                //these should be extracted from the service WSDL document
                java.lang.String serviceName = "CalculationServiceService";
                java.lang.String portName = "CalculationServicePort";
                String namespace = "http://localhost:8080/CalculationServiceService";
                javax.xml.transform.Source inputSource = new javax.xml.transform.stream.StreamSource(new java.io.StringReader(input));
                javax.xml.namespace.QName serviceQName = new javax.xml.namespace.QName(namespace, serviceName);
                javax.xml.namespace.QName portQName = new javax.xml.namespace.QName(namespace, portName);
                javax.xml.ws.Service service = javax.xml.ws.Service.create(wsdlURL, serviceQName);           
                javax.xml.ws.Dispatch<javax.xml.transform.Source> dispatch =
                      service.createDispatch(portQName, javax.xml.transform.Source.class, javax.xml.ws.Service.Mode.MESSAGE);
           //javax.xml.ws.Dispatch<javax.xml.transform.Source> dispatch =
               //service.createDispatch(portQName, javax.xml.transform.Source.class, javax.xml.ws.Service.Mode.PAYLOAD);
    //alternative method, with different input
                javax.xml.transform.Source replySource = dispatch.invoke(inputSource);
                javax.xml.bind.JAXBContext jc = javax.xml.bind.JAXBContext.newInstance(nikos.test.CalculationResult.class);
                javax.xml.bind.Unmarshaller unm = jc.createUnmarshaller();
                nikos.test.CalculationResult result = (nikos.test.CalculationResult)unm.unmarshal(replySource);
                System.out.println(result.getResult());
            } catch (JAXBException ex) {
                JOptionPane.showMessageDialog(this, ex);
                ex.printStackTrace();
            } catch (MalformedURLException ex) {
                ex.printStackTrace();//this should not happen.
            }In fact I'm getting a weird error
    javax.xml.ws.soap.SOAPFaultException: java.lang.NullPointerException
            at com.sun.xml.ws.fault.SOAP11Fault.getProtocolException(SOAP11Fault.java:187)
            at com.sun.xml.ws.fault.SOAPFaultBuilder.createException(SOAPFaultBuilder.java:108)
            at com.sun.xml.ws.client.dispatch.DispatchImpl.doInvoke(DispatchImpl.java:187)
            at com.sun.xml.ws.client.dispatch.DispatchImpl.invoke(DispatchImpl.java:206)
         //lines from my source code are here
    Caused by: javax.xml.ws.WebServiceException: java.lang.NullPointerException
            at com.sun.enterprise.security.jmac.config.PipeHelper.makeFaultResponse(PipeHelper.java:328)
            at com.sun.enterprise.security.jmac.config.PipeHelper.getFaultResponse(PipeHelper.java:366)
            at com.sun.enterprise.webservice.CommonServerSecurityPipe.processRequest(CommonServerSecurityPipe.java:223)
            at com.sun.enterprise.webservice.CommonServerSecurityPipe.process(CommonServerSecurityPipe.java:129)
            at com.sun.xml.ws.api.pipe.helper.PipeAdapter.processRequest(PipeAdapter.java:115)
            at com.sun.xml.ws.api.pipe.Fiber.__doRun(Fiber.java:595)
            at com.sun.xml.ws.api.pipe.Fiber._doRun(Fiber.java:554)
            at com.sun.xml.ws.api.pipe.Fiber.doRun(Fiber.java:539)
            at com.sun.xml.ws.api.pipe.Fiber.runSync(Fiber.java:436)
            at com.sun.xml.ws.server.WSEndpointImpl$2.process(WSEndpointImpl.java:243)
            at com.sun.xml.ws.transport.http.HttpAdapter$HttpToolkit.handle(HttpAdapter.java:444)
            at com.sun.xml.ws.transport.http.HttpAdapter.handle(HttpAdapter.java:244)
            at com.sun.xml.ws.transport.http.servlet.ServletAdapter.handle(ServletAdapter.java:135)
            at com.sun.enterprise.webservice.Ejb3MessageDispatcher.handlePost(Ejb3MessageDispatcher.java:113)
            at com.sun.enterprise.webservice.Ejb3MessageDispatcher.invoke(Ejb3MessageDispatcher.java:87)
            at com.sun.enterprise.webservice.EjbWebServiceServlet.dispatchToEjbEndpoint(EjbWebServiceServlet.java:200)
            at com.sun.enterprise.webservice.EjbWebServiceServlet.service(EjbWebServiceServlet.java:129)
            at javax.servlet.http.HttpServlet.service(HttpServlet.java:831)
            at com.sun.enterprise.web.AdHocContextValve.invoke(AdHocContextValve.java:114)
            at org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:632)
            at org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:577)
            at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:571)
            at com.sun.enterprise.web.WebPipeline.invoke(WebPipeline.java:87)
            at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:206)
            at org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:632)
            at org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:577)
            at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:571)
            at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:1080)
            at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:150)
            at org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:632)
            at org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:577)
            at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:571)
            at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:1080)
            at org.apache.coyote.tomcat5.CoyoteAdapter.service(CoyoteAdapter.java:270)
            at com.sun.enterprise.web.connector.grizzly.DefaultProcessorTask.invokeAdapter(DefaultProcessorTask.java:637)
            at com.sun.enterprise.web.connector.grizzly.DefaultProcessorTask.doProcess(DefaultProcessorTask.java:568)
            at com.sun.enterprise.web.connector.grizzly.DefaultProcessorTask.process(DefaultProcessorTask.java:813)
            at com.sun.enterprise.web.connector.grizzly.DefaultReadTask.executeProcessorTask(DefaultReadTask.java:339)
            at com.sun.enterprise.web.connector.grizzly.DefaultReadTask.doTask(DefaultReadTask.java:261)
            at com.sun.enterprise.web.connector.grizzly.DefaultReadTask.doTask(DefaultReadTask.java:212)
            at com.sun.enterprise.web.connector.grizzly.TaskBase.run(TaskBase.java:265)
            at com.sun.enterprise.web.connector.grizzly.ssl.SSLWorkerThread.run(SSLWorkerThread.java:106)
    Caused by: java.lang.NullPointerException
            at com.sun.xml.ws.tx.service.TxServerPipe.process(TxServerPipe.java:163)
            at com.sun.enterprise.webservice.CommonServerSecurityPipe.processRequest(CommonServerSecurityPipe.java:218)
            ... 39 moreAs I've said before I've called this web service successfully using three different methods.
    It appears it has something to do with security issues, but I've no security at all...

  • Combine multiple web services with the same SQL query into one

    Hello,
    I would like to ask a question regarding combine multiple similar web services into one. Can you please tell me if it is possible to combine 4-5 web services into one since they built on the same SQL query with 5 different criterias or condition so that the user can enter any of the 5 criterias to populate the data on the form instead of having 5 different web services?
    e.g Query: Select appName, permit#, address, phone, description, type, section, from table where appName = can be 'appName, permit#, address, phone, or description' to populate the rest of the data to the form.
    Does any one have ever done some thing like this in Workbench ES? If so please assist. I know it can be easier to build it in Visual Basic, C#, or dot.net but the requirement is to build it in workbench ES.
    Thanks in advance,
    Han Dao

    If you are querying for Name, PhoneNumber, and SSN, and you queried for all people with a phone number that started with 867, you would have a potentially long list of people.  So to keep track of all of the people, we store each record in XML complex elements.  The root node is just any name you want, and the repeating element is the complex element name. 
    So using the example from above, I'm going to specify the following:
         Root Node: Result
         Repeating Element: Person
    So now when I do a query, my resultXML will look like:
    <Result>
          <Person>
                 <Name>Alex</Name>
                 <PhoneNumber>867-5309</PhoneNumber>
                 <SSN>111-11-1111</SSN>
          </Person>
    </Result>
    If your query returned multiple results (like ours would probably), it would look like:
    <Result>
          <Person>
                 <Name>Alex</Name>
                 <PhoneNumber>867-5309</PhoneNumber>
                 <SSN>111-11-1111</SSN>
          </Person>
          <Person>
                 <Name>Han</Name>
                 <PhoneNumber>867-2169</PhoneNumber>
                 <SSN>222-22-2222</SSN>
          </Person>
    </Result>
    So Result and Person is just to give a little bit of structure to the xml result (containers really).  So you can name them whatever is helpful for you.
    The column name mappings map the query columns (Name, PhoneNumber, SSN) to some node in the XML (Name, PhoneNumber, SSN).  So you don't need to specify which field maps to what in the form.  Just copy the column names to the element name so you have a 1-to-1 naming.  If you want to manipulate the XML a bit though, you could do:
    Column Name               Element
    Name                            YourName
    PhoneNumber                Phone
    SSN                              Secret
    which would then make your xml look like:
    <Result>
          <Person>
                 <YourName>Alex</YourName>
                 <Phone>867-5309</Phone>
                 <Secret>111-11-1111</Secret>
          </Person>
    </Result>
    It lets you change the XML element names to whatever you want. Otherwise by default they take on their column names.
    In your form, you could bind to the WSDL through the Data Connections pane and point it to your web service.  This will then create form elements that you can just drag and drop allowing you to have the information available when the service gets ran.  Once the service is called, you can modify the field's data to get whatever information you need in order to populate other form fields. 
    If that is too confusing, feel free to send me your form (e-mail is on profile page) and I'll add comments to it to show you how to set up the form for the web service call (and also give me the link to your webservice)

  • Web Service with Drop Down Lists for database selections

    Hello,
    I want to define a Web Service with the JDeveloper which can do the following.
    I´ve got a database table with several columns which represents a customer adress and name.
    On a WebSite I like to have three Drop Down Lists to search in that table. The first list should include the field "name". When I select a name there the second list should show all streets (field "street") where people with the selected name live. When I select the street the third list should show me the house numbers (field "hn") of the customers with the selected name and street.
    What have I to do to define a application, a project and so on?
    Many Thanks!

    Hello,
    This question is not directly related to Web Services, since in this case you can consider that the Web Service is your "model" providing data to your view (JSP). One of the question I would like to ask you is: why do you want to use a Web Service to do that? and how you want to deploy this?
    In a general manner, if you use Web Service it is to be able to reuse the business logic in other projects, so based on this statement I would create a specific project that will contain you "model" so all your services.
    The to consume it from your JSP you have different ways:
    - create a Java proxy, or use @WebServiceRef to call the client
    - use Javascript to call the service directly from the HTML page, take a look to the Oracle Web Service endpoint page, where you can see some Javascript stub links.
    Please give more details about your project and needs and I will try to give you a proper answer.
    Regards
    Tugdual Grall

  • Biztalk 2010 - Consume Web Service with Certificate

    Hi
    I have to consume a java web service with Biztalk that requires authentication via a client certificate. Until now I have not been able to consume any web service where any kind of authentication was needed. Simple web services without authentication are
    no problem. Also using SoapUI works perfectly fine.
    I am generating the XSDs and the port binding with the WCF wizard in VS2010. I've read several comments that it's not possible to consume web services with the WCF-WSHttp adapter when the message format should be SOAP 1.1. Therefore I'm trying with the WCF-BasicHttp
    and WCF-Custom adapters, but I did not suceed in receiving a positive response yet.
    The web service I want to consume uses a client certificate (with a private key) and two root certificates. When I use the BasicHttp adapter I choose either 'Transport' or 'TransportWithMessageCredential' but none of them work. I also have to supply a client
    and a service certificate. I always use the one with the private key for the client but I'm not sure which one I have to use for the service. Is there a possibility that I have to provide both root certificates and if so, how can I achieve this?
    Hope the question makes sense somehow... thanks for any input.
    Error message that I receive currently is that the server needs a client certificate. However I attached it in the send port properties under the tab "Security" => mode "TransportWithMessageCredential".

    Adapter: WCF-Custom
    Binding: customBinding
    Cannot send pictures (yet).
    <configuration>
    <enterpriseLibrary.ConfigurationSource selectedSource="ESB File Configuration Source" />
    <system.serviceModel>
    <client>
    <endpoint address="...." behaviorConfiguration="EndpointBehavior" binding="customBinding" bindingConfiguration="ReceiptBinding" contract="BizTalk" name="WebServicePort" />
    </client>
    <behaviors>
    <endpointBehaviors>
    <behavior name="EndpointBehavior">
    <clientCredentials>
    <clientCertificate findValue="..." x509FindType="FindByThumbprint" />
    <serviceCertificate>
    <defaultCertificate findValue="..." storeLocation="LocalMachine" storeName="AuthRoot" x509FindType="FindByThumbprint" />
    </serviceCertificate>
    </clientCredentials>
    </behavior>
    </endpointBehaviors>
    <serviceBehaviors>
    <behavior name="ServiceBehavior" />
    </serviceBehaviors>
    </behaviors>
    <bindings>
    <customBinding>
    <clear />
    <binding name="ReceiptBinding">
    <textMessageEncoding messageVersion="Soap11" />
    <security authenticationMode="MutualCertificate" />
    <httpsTransport proxyAuthenticationScheme="Basic" requireClientCertificate="true" />
    </binding>
    </customBinding>
    </bindings>
    </system.serviceModel>
    </configuration>

  • ABAP Web Service with tables

    Hello,
    <br>
    <br>
    We need to build a web service with a predefined message in our ERP (ABAP), without PI or WebAS JAVA.
    <br>
    <br>
    We thought it should be a simple task, because we had no problem with many other applications and systems when building the same service, but were not able to build it with SAP ABAP, probably as a consequence of our lack of knowledge on ABAP SOAP runtime.
    <br>
    <br>
    We have an external asynchronous process that delivers information to many other systems using web services (information diffusion). Concecuently, the web service call's structure is determined by the caller, so we have to fulfill this structure if we want to receive the info.
    <br>
    <br>
    The owner of the process defined a very simple service call, in which one kind of  "record" can be repeated 1 to n times:
    <br>
    <br>
    <br>
    <br>
    <br>
    <br>
    &lt;reglasSuscripcion&gt;
    <br>
                &lt;!Zero or more repetitions:&gt;
    <br>
                   &lt;nombre&gt;?&lt;/nombre&gt;
    <br>
                   &lt;valor&gt;?&lt;/valor&gt;
    <br>
                   &lt;nombre&gt;?&lt;/nombre&gt;
    <br>
                   &lt;valor&gt;?&lt;/valor&gt;
    <br>
                   &lt;nombre&gt;?&lt;/nombre&gt;
    <br>
                   &lt;valor&gt;?&lt;/valor&gt;
    <br>
    <br>
                   &lt;nombre&gt;?&lt;/nombre&gt;
    <br>
                   &lt;valor&gt;?&lt;/valor&gt;
    <br>
    &lt;/reglasSuscripcion&gt;
    <br>
    <br>
    <br>
    In order to receive this info, we have to implement an abap web service handler to accept this kind of call, the same way other applications/systems have already done.
    <br>
    <br>
    We tried to build a RFC function call and create a web service with the wizard and it resulted in a web service with the following WSDL:
    <br>
    <br>
    &lt;soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:urn="urn:sap-com:document:sap:soap:functions:mc-style"&gt;
    <br>
    <br>
    <br>
    <br>
             &lt;reglasSuscripcion&gt;
    <br>
                &lt;!Zero or more repetitions:&gt;
    <br>
                &lt;item&gt;
    <br>
                   &lt;nombre&gt;?&lt;/nombre&gt;
    <br>
                   &lt;valor&gt;?&lt;/valor&gt;
    <br>
                &lt;/item&gt;
    <br>
    <br>
    <br>
    <br>
    &lt;item&gt;
    <br>
                   &lt;nombre&gt;?&lt;/nombre&gt;
    <br>
                   &lt;valor&gt;?&lt;/valor&gt;
    <br>
                &lt;/item&gt;
    <br>
             &lt;/reglasSuscripcion&gt;
    <br>
    <br>
    <br>
    <br>
    We found two main problems:
    <br>
    <br>
    1.- When "wrapping" the RFC as a WS with the wizard, for a table datatype it automatically includes the <item></item> tag, so we break the predefined calling rules.
    <br>
    <br>
    2.- The namespace is fixed by the wizard, and we would like to use a common namespace for all the "susbscribers", logically, the namespace fixed by the information diffusion service.
    <br>
    <br>
    We also tried to find info on the outside-in approach for building a web service from the WSDL, but all the info we found required the ESR and we have no PI, just the ERP.
    <br>
    <br>
    Any ideas on how to proceed?
    <br>
    <br>
    Thanks in advance,
    <br>
    <br>
    Joseba M. Iturbe
    <br>
    <br>
    Edited by: Soporte Desarrollo on Mar 5, 2010 10:56 AM

    #2.  I've recently had to "zap" some namespaces in an ECC5 system because the calling (TIBCO) system didn't appreciate the default SAP "urn" default - something to do with multiple colons in the address.  There were, I think, just three table this affected, all VEP* ones.  I think I should have been able to change these via the virtual interface in SE80 except that the ECC5 code was a bit "light" in this respect, so you may be able to do this now in SOAMANAGER in ECC6 (btw,  I also had to re-save the WS definition within WSCONFIG and re-activate the virtual interfaces after this "zap" to generated the associated handler class again).
    #1. Given your "name / value" pairs represent a complex type, then it might be better practice to have them as "item" which is probably why SAP proposes it this way... what does your custom function module parameter list look like?
    Jonathan

  • Web services with servicegen i Weblogic 7

    I am trying to create web services with Weblogic's tool servicegen and
    ANT. It works great until I have a web service method that return a PK
    class of an EJB. I get the error "Error: bean property and public
    field found with the same name: id" (full stacktrace below). After
    some investigating I found out that it was my PK class that was the
    bad guy. But my PK class MUST have the field "id" public, otherwise
    ejbc complains...
    Am I doing anything wrong or does anyone have a solution?
    /Weasel
    webservices:
    [servicegen] Generating service "HelloWorldEJB" ...
    [servicegen] Generating XML types and serializers from ejb-jar
    (E:\java\projects\CMP20CMR-xdoclet\build\ejb\weblogic-ejb\samples-ejb.jar)
    [servicegen] weblogic.xml.schema.binding.BindingException: Error: bean
    property and public field found with the same name: id
    [servicegen]      at weblogic.ant.taskdefs.webservices.autotype.AutoTypeTask.execute(AutoTypeTask.java:356)
    [servicegen]      at weblogic.ant.taskdefs.webservices.servicegen.ServiceGenTask.generateService(ServiceGenTask.java:248)
    [servicegen]      at weblogic.ant.taskdefs.webservices.servicegen.ServiceGenTask.execute(ServiceGenTask.java:141)
    [servicegen]      at org.apache.tools.ant.Task.perform(Task.java)
    [servicegen]      at org.apache.tools.ant.Target.execute(Target.java)
    [servicegen]      at org.apache.tools.ant.Target.performTasks(Target.java)
    [servicegen]      at org.apache.tools.ant.Project.executeTarget(Project.java)
    [servicegen]      at org.apache.tools.ant.Project.executeTargets(Project.java)
    [servicegen]      at org.apache.tools.ant.Main.runBuild(Main.java)
    [servicegen]      at org.apache.tools.ant.Main.start(Main.java)
    [servicegen]      at org.apache.tools.ant.Main.main(Main.java)
    [servicegen] --- Nested Exception ---
    [servicegen] weblogic.xml.schema.binding.BindingException: Error: bean
    property and public field found with the same name: id
    [servicegen]      at weblogic.ant.taskdefs.webservices.autotype.ComponentAutoTyper.mapComponent(ComponentAutoTyper.java:157)
    [servicegen]      at weblogic.ant.taskdefs.webservices.autotype.EJBAutoTyper.run(EJBAutoTyper.java:100)
    [servicegen]      at weblogic.ant.taskdefs.webservices.autotype.AutoTypeTask.execute(AutoTypeTask.java:350)
    [servicegen]      at weblogic.ant.taskdefs.webservices.servicegen.ServiceGenTask.generateService(ServiceGenTask.java:248)
    [servicegen]      at weblogic.ant.taskdefs.webservices.servicegen.ServiceGenTask.execute(ServiceGenTask.java:141)
    [servicegen]      at org.apache.tools.ant.Task.perform(Task.java)
    [servicegen]      at org.apache.tools.ant.Target.execute(Target.java)
    [servicegen]      at org.apache.tools.ant.Target.performTasks(Target.java)
    [servicegen]      at org.apache.tools.ant.Project.executeTarget(Project.java)
    [servicegen]      at org.apache.tools.ant.Project.executeTargets(Project.java)
    [servicegen]      at org.apache.tools.ant.Main.runBuild(Main.java)
    [servicegen]      at org.apache.tools.ant.Main.start(Main.java)
    [servicegen]      at org.apache.tools.ant.Main.main(Main.java)
    [servicegen] --- Nested Exception ---
    [servicegen] weblogic.xml.schema.binding.BindingException: Error: bean
    property and public field found with the same name: id
    [servicegen]      at weblogic.xml.schema.binding.internal.codegen.JavaInspector.checkForFieldConflict(JavaInspector.java:384)
    [servicegen]      at weblogic.xml.schema.binding.internal.codegen.JavaInspector.addPropertiesToScalar(JavaInspector.java:345)
    [servicegen]      at weblogic.xml.schema.binding.internal.codegen.JavaInspector.fillDescriptor(JavaInspector.java:152)
    [servicegen]      at weblogic.xml.schema.binding.internal.codegen.JavaInspector.getDescriptor(JavaInspector.java:115)
    [servicegen]      at weblogic.xml.schema.binding.internal.codegen.JavaInspector.createDescriptorForClass(JavaInspector.java:90)
    [servicegen]      at weblogic.xml.schema.binding.internal.codegen.Compiler.compile(Compiler.java:121)
    [servicegen]      at weblogic.xml.schema.binding.internal.XSDTypeMappingBuilder.mapClass(XSDTypeMappingBuilder.java:88)
    [servicegen]      at weblogic.xml.schema.binding.internal.XSDTypeMappingBuilder.mapClass(XSDTypeMappingBuilder.java:101)
    [servicegen]      at weblogic.xml.schema.binding.internal.TypeMappingBuilderBase.addMapping(TypeMappingBuilderBase.java:176)
    [servicegen]      at weblogic.ant.taskdefs.webservices.autotype.ComponentAutoTyper.addMapping(ComponentAutoTyper.java:85)
    [servicegen]      at weblogic.ant.taskdefs.webservices.autotype.ComponentAutoTyper.mapComponent(ComponentAutoTyper.java:113)
    [servicegen]      at weblogic.ant.taskdefs.webservices.autotype.EJBAutoTyper.run(EJBAutoTyper.java:100)
    [servicegen]      at weblogic.ant.taskdefs.webservices.autotype.AutoTypeTask.execute(AutoTypeTask.java:350)
    [servicegen]      at weblogic.ant.taskdefs.webservices.servicegen.ServiceGenTask.generateService(ServiceGenTask.java:248)
    [servicegen]      at weblogic.ant.taskdefs.webservices.servicegen.ServiceGenTask.execute(ServiceGenTask.java:141)
    [servicegen]      at org.apache.tools.ant.Task.perform(Task.java)
    [servicegen]      at org.apache.tools.ant.Target.execute(Target.java)
    [servicegen]      at org.apache.tools.ant.Target.performTasks(Target.java)
    [servicegen]      at org.apache.tools.ant.Project.executeTarget(Project.java)
    [servicegen]      at org.apache.tools.ant.Project.executeTargets(Project.java)
    [servicegen]      at org.apache.tools.ant.Main.runBuild(Main.java)
    [servicegen]      at org.apache.tools.ant.Main.start(Main.java)
    [servicegen]      at org.apache.tools.ant.Main.main(Main.java)
    BUILD FAILED
    E:\java\projects\CMP20CMR-xdoclet\script\build.xml:498:
    weblogic.xml.schema.binding.BindingException: Error: bean property and
    public field found with the same name: id

    Web services can only be published to BEA if you install Apache SOAP on BEA and use the Apache SOAP option of JDeveloper. The J2EE Web Services implementation framework is specific to Oracle9iAS.
    The PL/SQL Web Services server implementation is based on the J2EE Web Services option and as a result is not really portable to BEA.
    To publish a PL/SQL Web service on BEA with JDeveloper you would have to write the Java wrapper code to invoke the stored procedure using standard JDBC and then publish that Java class as a Web service using Apache SOAP. Then if you had Apache SOAP installed on BEA you would be set.
    Portability of Web services implementations is a big feature coming with JAX-RPC - currently what most vendors have is interoperability between implementations because of things like SOAPBuilders and WS-I. When JAX-RPC becomes part of J2EE 1.4 roughly in June and vendors start putting out implementations on it you should get closer to portability.
    In the meantime, the easiest way to get portability is to use the same SOAP server on both servers - Apache SOAP is a good example.
    Hope this helps.
    Mike

  • Web service with attachment

    Hi,
    Could anyone tell me hos to call a web service with the message Payload as an SOAP attachment? I´m calling from WAS 6.20 -> XI -> WS using a client proxy, but i can´t understand how the Payload becomes an attahcment?
    Jakob

    Hi,
    Follow the xi forum thread given below to get some information.
    Re: SOAP to SOAP Scenario with an Attachment
    thanks,
    sasi

  • Wlst command listWebServices() does not show all web services in the domain

    Hi, I am trying to use wlst command listWebServices() to display all web services of a domain. It seems that it only displays the web services of enterprice applications (ear apps), but it does not show the web services of web applications (war apps). If I pass ear appliication name and one of its web module to listWebServices, it will show the web services that belong to the web module of this application. However if I pass war application name and its web module name to listWebServices, it will return "Unable to find the SOA Composite or Service. Oracle UCM Native Web Services", although I can see from wls admin console or em that this web application does have a couple of web services.
    I also tried to call listWebServicePolicies, again it returned "Unable to find any Web Services with the specified Application".
    My purpose of doing above is to use wlst to detach/attach web service policies for some web services. Since I cannot find the web services, I off course cannot detach/attach policies.
    Does anyone have any clue how to find web services using wlst command that belong to a war application, and then detach/attach policies ? Any help will be greatly appreciated.
    Thanks,
    Jian Huang
    From Oracle fusion HCM

    As of UCM version 11.1.1.6, Oracle UCM Web Services are managed from Enterprise Manager in Fusion Middleware Control, not Weblogic Admin Console!
    A document at Oracle support explains this in more detail: https://support.oracle.com/epmos/faces/ui/km/DocumentDisplay.jspx?id=1456506.1 :
    Setting up GenericSoapService in WLS to use WS-Security:
    Go to FMW Enterprise Manager. http://wlshost:7001/em
    In the tree, navigate to Weblogic Domain -> <Domain Name> -> and click on UCM_server1. (If the managed server for WCC is named something other than UCM_server1, click on that name.)
    From the UCM_server1 drop down menu, select "Web Services".
    On the "Oracle Infrastructure Web Services" tab, click the GenericSoapPort link.
    Once there you can set the policies you want and restart the server!
    Regards,
    Göran
    Edited by: Göran Paues on 2012-aug-20 10:02

Maybe you are looking for