Calling a document style web service using a pl/sql wrapper method
Just wanted to find out if anybody has a working example of invoking a document style web service from Oracle 10g database on a Unix environment.
We have java test class that invokes the web service, and we are trying to use a pl/sql wrapper to invoke a Java Web Service client. So far, we are encountering an End of File Communication error from Oracle which essentially terminates the session with the database.
On the Oracle application server side we are able to see a successful HTTP request made to the application server via server log, which is hosting the web service, since we are registering HTTP 200 success codes. However, we do not see any other errors from the application in the server logs. Most likely since the client side fails, before actually getting a chance to invoke the web service. This has been verified by commenting the client code leaving the print statements. The first call to the Service Factory method (XFire) to look up the service is where the PL/SQL procedure fails with an End of File communication error.
Remove the when others section and see the actual error and post that.
http://tkyte.blogspot.com/2008/06/when-others-then-null-redux.html
http://tkyte.blogspot.com/2007/03/dreaded-others-then-null-strikes-again.html
Similar Messages
-
DII client for accessing a document style web service
Hi All,
I try to access a document style web service using DII JAX-RPC client and used the wscompile tool to produce wrapper classes .
The following code I used for my work:
import java.rmi.RemoteException;
import javax.xml.namespace.QName;
import javax.xml.rpc.Call;
import javax.xml.rpc.Service;
import javax.xml.rpc.ServiceFactory;
import javax.xml.rpc.encoding.XMLType;
import javax.xml.rpc.ParameterMode;
import java.net.URL;
import nutrient.*;
public class NuDII{
private static String endpoint =
"http://www.strikeiron.com/webservices/usdadata.asmx?wsdl";
private static String qnameService = "USDAData";
private static String qnamePort = "USDADataSoap";
private static String BODY_NAMESPACE_VALUE =
"http://www.strikeiron.com/";
private static String ENCODING_STYLE_PROPERTY =
"javax.xml.rpc.encodingstyle.namespace.uri";
private static String NS_XSD =
"http://www.w3.org/2001/XMLSchema";
private static String URI_ENCODING =
"http://schemas.xmlsoap.org/soap/encoding/";
private static String TYPE_NAMESPACE_VALUE =
"http://www.strikeiron.com/";
private static QName returnType = new QName(NS_XSD, "string");
public static void main(String[] args) {
try {
ServiceFactory factory = ServiceFactory.newInstance();
Service service = factory.createService(new QName(BODY_NAMESPACE_VALUE,qnameService));
QName port = new QName(BODY_NAMESPACE_VALUE,qnamePort);
QName operation = new QName(BODY_NAMESPACE_VALUE,"SearchFoodByDescription");
Call call = service.createCall(port,operation);
call.setTargetEndpointAddress(endpoint);
call.setProperty(Call.SOAPACTION_USE_PROPERTY, new Boolean(true));
call.setProperty(Call.SOAPACTION_URI_PROPERTY,"http://www.strikeiron.com/SearchFoodByDescription");
call.setProperty(Call.ENCODINGSTYLE_URI_PROPERTY,"");
call.setProperty(Call.OPERATION_STYLE_PROPERTY, "document");
QName QNAME_TYPE_STRING = new QName(NS_XSD, "string");
QName REQUEST_QNAME = new QName(TYPE_NAMESPACE_VALUE,"SearchFoodByDescription");
QName RESPONSE_QNAME = new QName(TYPE_NAMESPACE_VALUE, "SearchFoodByDescriptionResponse");
call.setReturnType(RESPONSE_QNAME, nutrient.SearchFoodByDescriptionResponse.class);
//call.setReturnType(stringArray);
call.setOperationName(new QName(BODY_NAMESPACE_VALUE,"SearchFoodByDescription"));
call.addParameter("FoodKeywords", REQUEST_QNAME,nutrient.SearchFoodByDescription.class,ParameterMode.IN);
call.addParameter("FoodGroupCode", REQUEST_QNAME, nutrient.SearchFoodByDescription.class,ParameterMode.IN);
SearchFoodByDescription sfd = new SearchFoodByDescription("BabyFoods","1900");
//Object[] params = new Object[2];
//params[0]= new String("BabyFoods");
//params[1]= new String("1900");try
Object[] params = {sfd};
Object result = call.invoke(params);
System.out.println(result);
} catch (Exception ex) {
ex.printStackTrace();
when I start to execute the client I got the following error:
java.rmi.RemoteException: Server was unable to process request. --> Object refer
ence not set to an instance of an object.
at com.sun.xml.rpc.client.dii.BasicCall.invoke(BasicCall.java:462)
at NuDII.main(NuDII.java:68)
Shall any body assist me to solve problem.you may have a little better luck in the JNI forum.
-
AxisFault seen while invoking document style web service
I am seeing the following stacktrace when I try to invoke a document-style web service.
<partnerRole name="MyWebService1_Role">
<ServiceName>{http://idm.oracle.com/}MyWebService1</ServiceName>
<PortType>{http://idm.oracle.com/}MyWebService1</PortType>
<Address>null</Address>
</partnerRole>
<conversationId>bpel://localhost/default/ProvisioningFromDAS~1.0/4202-BpInv0-BpSeq0.3-3</conversationId>
<properties>{}</properties>
</partnerLink>
<2005-09-06 09:23:37,650> <DEBUG> <default.collaxa.cube.ws> <WSIFInvocationHandler::invoke> Fault happened
AxisFault
faultCode: {http://schemas.xmlsoap.org/soap/envelope/}Client
faultSubcode:
faultString: caught exception while handling request: expected element is missing: {http://idm.oracle.com/}attribute
faultActor:
faultNode:
faultDetail:
{http://xml.apache.org/axis/}stackTrace:caught exception while handling request: expected element is missing: {http://idm.oracle.com/}attribute
at org.collaxa.thirdparty.apache.axis.message.SOAPFaultBuilder.createFault(SOAPFaultBuilder.java:221)
at org.collaxa.thirdparty.apache.axis.message.SOAPFaultBuilder.endElement(SOAPFaultBuilder.java:128)
at org.collaxa.thirdparty.apache.axis.encoding.DeserializationContext.endElement(DeserializationContext.java:1083)
at org.apache.xerces.parsers.AbstractSAXParser.endElement(Unknown Source)
at org.apache.xerces.impl.XMLNSDocumentScannerImpl.scanEndElement(Unknown Source)
at org.apache.xerces.impl.XMLDocumentFragmentScannerImpl$FragmentContentDispatcher.dispatch(Unknown Source)
at org.apache.xerces.impl.XMLDocumentFragmentScannerImpl.scanDocument(Unknown Source)
What could this mean ?Hi,
I am getting a similar issue. I created a Document-style/literal webservice and deployed on Weblogic 9.2 . Then I generated client stubs using clientgen. I get the following exception stack trace:
java.rmi.RemoteException: web service invoke failed: javax.xml.soap.SOAPException:
failed to serialize class java.lang.Objectweblogic.xml.schema.binding.SerializationException: type mapping lookup failure on
class=class com.sun.org.apache.xerces.internal.dom.DeferredDocumentImpl TypeMapping=TYPEMAPPING SIZE=3
ENTRY 1:
class: java.lang.Object
xsd_type: ['http://xmlns.ozarkexpress.com/business/sell']:stns:echoDocumentResponse
ser: weblogic.xml.schema.binding.internal.builtin.XSDAnyCodec@1125127
deser: weblogic.xml.schema.binding.internal.builtin.XSDAnyCodec@18dfef8
ENTRY 2:
class: java.lang.Object
xsd_type: ['http://xmlns.ozarkexpress.com/business/sell']:stns:echoDocument
ser: weblogic.xml.schema.binding.internal.builtin.XSDAnyCodec@15e83f9
deser: weblogic.xml.schema.binding.internal.builtin.XSDAnyCodec@2a5330
ENTRY 3:
class: java.lang.Object
xsd_type: ['http://www.w3.org/2001/XMLSchema']:xsd:anyType
ser: weblogic.xml.schema.binding.internal.builtin.XSDAnyCodec@bb7465
deser: weblogic.xml.schema.binding.internal.builtin.XSDAnyCodec@d6c16c -
Trouble Communicating with Document-Style Web Service
I have a flash app that currently communicates with a
RPC-style web service. I changed the web service to be
document-style, and the flash app no longer sends valid requests. I
was under the impression that one could simple swtich styles, and
flash would play along. Apparently, this is not the case. Does
anyone have an insight in this area?Clarified with Partick Calahan, who is maintaining this tool.
Currently, doc style is not handled by this tool. I guess it will be
supported in the future.
Thanks.
"Karthik V" <[email protected]> wrote in message
news:[email protected]..
I'm using WebLogic Webservice Explorer v.02 (WEX).
I'm able to test rpc style web services without any problem.
But whenever I try to open a document style web service WSDL, I get the
following exception.
I would appreciate if you have any suggestions for the to over come this
issue.
java.lang.IllegalArgumentException at
weblogic.webservice.tools.wex.MessagePanel.<init>(MessagePanel.java:33)at
>
weblogic.webservice.tools.wex.ServicePanel.operationChanged(ServicePanel.jav
a:153) at
weblogic.webservice.tools.wex.ServicePanel.portChanged(ServicePanel.java:133
) at
weblogic.webservice.tools.wex.ServicePanel.serviceChanged(ServicePanel.java:
121) at
weblogic.webservice.tools.wex.ServicePanel.<init>(ServicePanel.java:69)at
>
weblogic.webservice.tools.wex.tasks.FetchWsdlTask.perform(FetchWsdlTask.java
:45) at
weblogic.webservice.tools.wex.tasks.TaskQueue.run(TaskQueue.java:47) at
java.lang.Thread.run(Unknown Source) -
Document Style Web Services in JDeveloper
Hi,
I have been creating Web Services in JDev using a simple java class which has the following signature:
public boolean checkUserCredentials(String username, String password, int role)
I would like to start working on more complex examples, specifically document style web services. It is my understanding that the non-wrapped document style services will return an XML type with a mapping class defined during the creation process.
Can anyone point me to a good example of creating such a service in JDeveloper? It is my understanding that such a class would have a return type of XMLDocument, is that correct? If not do I define a custom object as a return type?
I have searched on this topic, but couldn't find any good examples / documentation. Apologies if im missing something.
ThanksDev update: WSDL file seems fine. The problem is that it's for a document-bare service and, by default, the Unwrap Wrapped Parameters option on step 2 of the top-down wizard is enabled and checked. This means that we try to pick apart the input message into a series of parameters, yielding the error shown because a document-bare operation must have only one input parameter.
If the Unwrap Wrapped Parameters option is unchecked, creation of the top-down service will succeed. In future, we ought to disable the option completely for everything but document-wrapped services, as that's the only time it applies.
This is covered by bug 4630382. -
Document Style web service in process - Please Help
All,
I have created a simple Document-oriented web service and deployed to a standalone OC4J container using the following code:
********************* Interface ***********************
import org.w3c.dom.*;
interface PrimeNumberService
//method to check the primality of the number passed in Element variable
public Element isPrime(Element e) ;
******************** Implementation *******************
@version 1.0
Development Environment : Oracle9i JDeveloper
Name of the File : PrimeNumberServiceImpl.java
Creation/Modification History :
13-Apr-2002 Created
Overview:
This class file defines methods to implement PrimeNumberWebService.
The method isPrime() is exposed by the Web Service.
import org.w3c.dom.*;
import oracle.xml.parser.v2.*;
import java.io.*;
public class PrimeNumberServiceImpl implements PrimeNumberService
public PrimeNumberServiceImpl()
* This method is exposed by the Web Service to check if the number is
* prime. It extracts the number for input element and checks if it is
* prime or not and return the output in the XML Element.
* The input element is of the form <number>23</number>
public Element isPrime(Element e)
// define an XML Element that will be returned to the client
Element processedEl=null;
try{
// get the first clild of input element
Node enode = e.getFirstChild();
//get the value of input element and parse it
String value= enode.getNodeValue();
double number = Double.parseDouble(value);
String answer=null;
// check if the input number is prime
answer = checkPrime(number);
// create element from the answer
processedEl =createElement(answer);
}catch(Exception ex){
ex.printStackTrace();
return null;
// return output to client
return processedEl;
* This method creates an XML element from the input string values and return it
* The Element is of the form <answer>value</answer>
private Element createElement(String value){
// create a Document object
Document xmldoc = new XMLDocument();
// create an element with name "answer"
Element e1 = xmldoc.createElement("answer");
// append the element to document object
xmldoc.appendChild(e1);
// create a Text object from input values and append it to above element
Text t = xmldoc.createTextNode(value);
e1.appendChild(t);
return (Element)xmldoc.getFirstChild();
* This method check if the input number is prime or not
private String checkPrime(double num){
//For a prime number mod(power(2,number),number) is equal to 2
if ( Math.IEEEremainder( Math.pow(2.0,num) ,num)==2){
System.out.println ("the number is: " + num);
return "The number " + num + " is prime";}
else{
System.out.println ("the number is: " + num);
return "The number " + num + " is not prime";}
************************ Generated WSDL ***************
<?xml version="1.0" encoding="UTF-8"?>
<definitions name="PrimeNumberService"
targetNamespace="http://tempuri.org/PrimeNumberService.wsdl"
xmlns="http://schemas.xmlsoap.org/wsdl/"
xmlns:tns="http://tempuri.org/PrimeNumberService.wsdl"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" >
<documentation>
WSDL for Service: PrimeNumberService, generated by Oracle WSDL toolkit (version: 1.1)
</documentation>
<types>
<schema targetNamespace="http://tempuri.org/PrimeNumberService.xsd" xmlns:tns="http://tempuri.org/PrimeNumberService.xsd" xmlns="http://www.w3.org/2001/XMLSchema" xmlns:xsd="http://www.w3.org/2001/XMLSchema"/>
</types>
<message name="isPrimeOutput">
<part name="return" element="xsd:any"/>
</message>
<message name="isPrimeInput">
<part name="param0" element="xsd:any"/>
</message>
<portType name="PrimeNumberServicePortType">
<operation name="isPrime">
<input message="tns:isPrimeInput"/>
<output message="tns:isPrimeOutput"/>
</operation>
</portType>
<binding name="PrimeNumberServiceBinding" type="tns:PrimeNumberServicePortType">
<soap:binding transport="http://schemas.xmlsoap.org/soap/http" style="rpc"/>
<operation name="isPrime">
<soap:operation soapAction="urn:PrimeNumberService/isPrime"/>
<input>
<soap:body use="literal" namespace="urn:PrimeNumberService"/>
</input>
<output>
<soap:body use="literal" namespace="urn:PrimeNumberService"/>
</output>
</operation>
</binding>
<service name="PrimeNumberService">
<port name="PrimeNumberServicePort" binding="tns:PrimeNumberServiceBinding">
<soap:address location="http://hp-xeon-01:9799/primenumberws/primenumberService"/>
</port>
</service>
</definitions>
I get the following error when trying to deploy:
Error:
[Error ORABPEL-10902]: compilation failed
[Description]: XML parsing failed because "undefined part element.
In WSDL at "http://hp-xeon-01:9799/primenumberws/primenumberService?WSDL", message part element "{http://www.w3.org/2001/XMLSchema}any" is not defined in any of the schemas.
Please make sure the spelling of the element QName is correct and the WSDL import is complete.
[Potential fix]: n/a.
Please let me know what I'm doing wrong.
Regards,
JeffI think this thread is duplicate of "Document style web service receive and send org.w3c.Element" message thread.
- Rakesh -
Problem deploying document style web service(urgent help required)
I am getting this particular exception on my browser when I am trying to view the list of services after having deployed the service. The exception and complete stack trace is follows. I have also included the portion of the WSDD file giving details about the service.
And now... Some Services
AXIS error
Sorry, something seems to have gone wrong... here are the details:
Exception - org.apache.axis.ConfigurationException: java.lang.ClassCastException
java.lang.ClassCastException
at org.apache.axis.deployment.wsdd.WSDDDeployableItem.makeNewInstance(WSDDDeployableItem.java:302)
at org.apache.axis.deployment.wsdd.WSDDDeployableItem.getNewInstance(WSDDDeployableItem.java:274)
at org.apache.axis.deployment.wsdd.WSDDDeployableItem.getInstance(WSDDDeployableItem.java:260)
at org.apache.axis.deployment.wsdd.WSDDDeployment.getHandler(WSDDDeployment.java:394)
at org.apache.axis.deployment.wsdd.WSDDDeployableItem.getNewInstance(WSDDDeployableItem.java:276)
at org.apache.axis.deployment.wsdd.WSDDDeployableItem.getInstance(WSDDDeployableItem.java:260)
at org.apache.axis.deployment.wsdd.WSDDChain.makeNewInstance(WSDDChain.java:125)
at org.apache.axis.deployment.wsdd.WSDDDeployableItem.getNewInstance(WSDDDeployableItem.java:274)
at org.apache.axis.deployment.wsdd.WSDDDeployableItem.getInstance(WSDDDeployableItem.java:260)
at org.apache.axis.deployment.wsdd.WSDDService.makeNewInstance(WSDDService.java:430)
at org.apache.axis.deployment.wsdd.WSDDDeployment.getDeployedServices(WSDDDeployment.java:503)
at org.apache.axis.configuration.FileProvider.getDeployedServices(FileProvider.java:296)
at org.apache.axis.transport.http.AxisServlet.reportAvailableServices(AxisServlet.java:482)
at org.apache.axis.transport.http.AxisServlet.doGet(AxisServlet.java:260)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:740)
at org.apache.axis.transport.http.AxisServletBase.service(AxisServletBase.java:327)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:247)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:193)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:260)
at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:643)
at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480)
at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:643)
at org.apache.catalina.valves.CertificatesValve.invoke(CertificatesValve.java:246)
at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:641)
at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480)
at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)
at org.apache.catalina.core.StandardContext.invoke(StandardContext.java:2415)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:180)
at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:643)
at org.apache.catalina.valves.ErrorDispatcherValve.invoke(ErrorDispatcherValve.java:170)
at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:641)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:172)
at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:641)
at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480)
at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:174)
at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:643)
at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480)
at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)
at org.apache.coyote.tomcat4.CoyoteAdapter.service(CoyoteAdapter.java:223)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:432)
at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.processConnection(Http11Protocol.java:386)
at org.apache.tomcat.util.net.TcpWorkerThread.runIt(PoolTcpEndpoint.java:534)
at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:530)
at java.lang.Thread.run(Thread.java:534)
org.apache.axis.ConfigurationException: java.lang.ClassCastException
java.lang.ClassCastException
at org.apache.axis.deployment.wsdd.WSDDDeployableItem.makeNewInstance(WSDDDeployableItem.java:302)
at org.apache.axis.deployment.wsdd.WSDDDeployableItem.getNewInstance(WSDDDeployableItem.java:274)
at org.apache.axis.deployment.wsdd.WSDDDeployableItem.getInstance(WSDDDeployableItem.java:260)
at org.apache.axis.deployment.wsdd.WSDDDeployment.getHandler(WSDDDeployment.java:394)
at org.apache.axis.deployment.wsdd.WSDDDeployableItem.getNewInstance(WSDDDeployableItem.java:276)
at org.apache.axis.deployment.wsdd.WSDDDeployableItem.getInstance(WSDDDeployableItem.java:260)
at org.apache.axis.deployment.wsdd.WSDDChain.makeNewInstance(WSDDChain.java:125)
at org.apache.axis.deployment.wsdd.WSDDDeployableItem.getNewInstance(WSDDDeployableItem.java:274)
at org.apache.axis.deployment.wsdd.WSDDDeployableItem.getInstance(WSDDDeployableItem.java:260)
at org.apache.axis.deployment.wsdd.WSDDService.makeNewInstance(WSDDService.java:430)
at org.apache.axis.deployment.wsdd.WSDDDeployment.getDeployedServices(WSDDDeployment.java:503)
at org.apache.axis.configuration.FileProvider.getDeployedServices(FileProvider.java:296)
at org.apache.axis.transport.http.AxisServlet.reportAvailableServices(AxisServlet.java:482)
at org.apache.axis.transport.http.AxisServlet.doGet(AxisServlet.java:260)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:740)
at org.apache.axis.transport.http.AxisServletBase.service(AxisServletBase.java:327)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:247)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:193)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:260)
at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:643)
at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480)
at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:643)
at org.apache.catalina.valves.CertificatesValve.invoke(CertificatesValve.java:246)
at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:641)
at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480)
at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)
at org.apache.catalina.core.StandardContext.invoke(StandardContext.java:2415)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:180)
at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:643)
at org.apache.catalina.valves.ErrorDispatcherValve.invoke(ErrorDispatcherValve.java:170)
at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:641)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:172)
at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:641)
at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480)
at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:174)
at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:643)
at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480)
at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)
at org.apache.coyote.tomcat4.CoyoteAdapter.service(CoyoteAdapter.java:223)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:432)
at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.processConnection(Http11Protocol.java:386)
at org.apache.tomcat.util.net.TcpWorkerThread.runIt(PoolTcpEndpoint.java:534)
at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:530)
at java.lang.Thread.run(Thread.java:534)
at org.apache.axis.deployment.wsdd.WSDDDeployableItem.makeNewInstance(WSDDDeployableItem.java:304)
at org.apache.axis.deployment.wsdd.WSDDDeployableItem.getNewInstance(WSDDDeployableItem.java:274)
at org.apache.axis.deployment.wsdd.WSDDDeployableItem.getInstance(WSDDDeployableItem.java:260)
at org.apache.axis.deployment.wsdd.WSDDDeployment.getHandler(WSDDDeployment.java:394)
at org.apache.axis.deployment.wsdd.WSDDDeployableItem.getNewInstance(WSDDDeployableItem.java:276)
at org.apache.axis.deployment.wsdd.WSDDDeployableItem.getInstance(WSDDDeployableItem.java:260)
at org.apache.axis.deployment.wsdd.WSDDChain.makeNewInstance(WSDDChain.java:125)
at org.apache.axis.deployment.wsdd.WSDDDeployableItem.getNewInstance(WSDDDeployableItem.java:274)
at org.apache.axis.deployment.wsdd.WSDDDeployableItem.getInstance(WSDDDeployableItem.java:260)
at org.apache.axis.deployment.wsdd.WSDDService.makeNewInstance(WSDDService.java:430)
at org.apache.axis.deployment.wsdd.WSDDDeployment.getDeployedServices(WSDDDeployment.java:503)
at org.apache.axis.configuration.FileProvider.getDeployedServices(FileProvider.java:296)
at org.apache.axis.transport.http.AxisServlet.reportAvailableServices(AxisServlet.java:482)
at org.apache.axis.transport.http.AxisServlet.doGet(AxisServlet.java:260)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:740)
at org.apache.axis.transport.http.AxisServletBase.service(AxisServletBase.java:327)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:247)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:193)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:260)
at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:643)
at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480)
at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:643)
at org.apache.catalina.valves.CertificatesValve.invoke(CertificatesValve.java:246)
at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:641)
at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480)
at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)
at org.apache.catalina.core.StandardContext.invoke(StandardContext.java:2415)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:180)
at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:643)
at org.apache.catalina.valves.ErrorDispatcherValve.invoke(ErrorDispatcherValve.java:170)
at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:641)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:172)
at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:641)
at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480)
at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:174)
at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:643)
at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480)
at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)
at org.apache.coyote.tomcat4.CoyoteAdapter.service(CoyoteAdapter.java:223)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:432)
at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.processConnection(Http11Protocol.java:386)
at org.apache.tomcat.util.net.TcpWorkerThread.runIt(PoolTcpEndpoint.java:534)
at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:530)
at java.lang.Thread.run(Thread.java:534)
The snippet from the WSDD is as follows:
<handler name="RequestHandler" type="java:com.doc.service.DataHandler"/>
<service name="AddCalcService" provider="java:MSG">
<parameter name="allowedMethods" value="*"/>
<parameter name="className" value="com.doc.service.AddCalcService"/>
<requestFlow>
<handler type="RequestHandler"/>
</requestFlow>
<responseFlow>
<handler type="RequestHandler"/>
</responseFlow>
</service>
Could someone tell what the cause of this exception and how it could be resolved.Hi Bruce,
Thanks for all the links - am trudging through them now.
-Leena
Bruce Stephens <[email protected]> wrote:
Hi Lenna,
You might take a look at the SOAPBuilders interop tests.
See: http://www.whitemesa.com/r3/interop3.html and notice the DocLit
tests.
Our endpoints are http://webservice.bea.com:7001 and the code for the
client and servers can be located here:
http://webservice.bea.com/index.html#qz40
The good folks with WS-I have spent many cycles on interop issues. You
might have a look at their work:
http://www.ws-i.org/Profiles/Basic/2003-08/BasicProfile-1.0a.html
Hope this is of some value,
Bruce
leena wrote:
Hi,
I am trying to build a synchronous document-style web service, andthe bea
site doesnt seem to have much documentation on it. I have a samplewritten with
SOAPElement as the input and output of my method, no schemas, my reqand response
are anyType, but im not sure if that is the best way to go. AND, itdoesnt work
yet.
Can anyone point me to a place where i can look for information ?i am on weblogic
8.1. I would eventually also want my input/output xml to be definedby my schema.
I see in examples that DOM Documents may also be passed as parameters(inand out)
? is there any place i can read up on this and decide what the bestoption for
me is ? Also, i will be running a .Net client against this, so if thereis anything
i need to keep in mind, i would appreciate it if anyone gave me anyinfo.
Thanks in advance!
leena. -
Document style web service receive and send org.w3c.Element
All,
I have created a simple Document-oriented web service and deployed to a standalone OC4J container using the following code:
********************* Interface ***********************
import org.w3c.dom.*;
interface PrimeNumberService
//method to check the primality of the number passed in Element variable
public Element isPrime(Element e) ;
******************** Implementation *******************
@version 1.0
Development Environment : Oracle9i JDeveloper
Name of the File : PrimeNumberServiceImpl.java
Creation/Modification History :
13-Apr-2002 Created
Overview:
This class file defines methods to implement PrimeNumberWebService.
The method isPrime() is exposed by the Web Service.
import org.w3c.dom.*;
import oracle.xml.parser.v2.*;
import java.io.*;
public class PrimeNumberServiceImpl implements PrimeNumberService
public PrimeNumberServiceImpl()
* This method is exposed by the Web Service to check if the number is
* prime. It extracts the number for input element and checks if it is
* prime or not and return the output in the XML Element.
* The input element is of the form <number>23</number>
public Element isPrime(Element e)
// define an XML Element that will be returned to the client
Element processedEl=null;
try{
// get the first clild of input element
Node enode = e.getFirstChild();
//get the value of input element and parse it
String value= enode.getNodeValue();
double number = Double.parseDouble(value);
String answer=null;
// check if the input number is prime
answer = checkPrime(number);
// create element from the answer
processedEl =createElement(answer);
}catch(Exception ex){
ex.printStackTrace();
return null;
// return output to client
return processedEl;
* This method creates an XML element from the input string values and return it
* The Element is of the form <answer>value</answer>
private Element createElement(String value){
// create a Document object
Document xmldoc = new XMLDocument();
// create an element with name "answer"
Element e1 = xmldoc.createElement("answer");
// append the element to document object
xmldoc.appendChild(e1);
// create a Text object from input values and append it to above element
Text t = xmldoc.createTextNode(value);
e1.appendChild(t);
return (Element)xmldoc.getFirstChild();
* This method check if the input number is prime or not
private String checkPrime(double num){
//For a prime number mod(power(2,number),number) is equal to 2
if ( Math.IEEEremainder( Math.pow(2.0,num) ,num)==2){
System.out.println ("the number is: " + num);
return "The number " + num + " is prime";}
else{
System.out.println ("the number is: " + num);
return "The number " + num + " is not prime";}
************************ Generated WSDL ***************
<?xml version="1.0" encoding="UTF-8"?>
<definitions name="PrimeNumberService"
targetNamespace="http://tempuri.org/PrimeNumberService.wsdl"
xmlns="http://schemas.xmlsoap.org/wsdl/"
xmlns:tns="http://tempuri.org/PrimeNumberService.wsdl"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" >
<documentation>
WSDL for Service: PrimeNumberService, generated by Oracle WSDL toolkit (version: 1.1)
</documentation>
<types>
<schema targetNamespace="http://tempuri.org/PrimeNumberService.xsd" xmlns:tns="http://tempuri.org/PrimeNumberService.xsd" xmlns="http://www.w3.org/2001/XMLSchema" xmlns:xsd="http://www.w3.org/2001/XMLSchema"/>
</types>
<message name="isPrimeOutput">
<part name="return" element="xsd:any"/>
</message>
<message name="isPrimeInput">
<part name="param0" element="xsd:any"/>
</message>
<portType name="PrimeNumberServicePortType">
<operation name="isPrime">
<input message="tns:isPrimeInput"/>
<output message="tns:isPrimeOutput"/>
</operation>
</portType>
<binding name="PrimeNumberServiceBinding" type="tns:PrimeNumberServicePortType">
<soap:binding transport="http://schemas.xmlsoap.org/soap/http" style="rpc"/>
<operation name="isPrime">
<soap:operation soapAction="urn:PrimeNumberService/isPrime"/>
<input>
<soap:body use="literal" namespace="urn:PrimeNumberService"/>
</input>
<output>
<soap:body use="literal" namespace="urn:PrimeNumberService"/>
</output>
</operation>
</binding>
<service name="PrimeNumberService">
<port name="PrimeNumberServicePort" binding="tns:PrimeNumberServiceBinding">
<soap:address location="http://hp-xeon-01:9799/primenumberws/primenumberService"/>
</port>
</service>
</definitions>
I get the following error when trying to deploy:
Error:
[Error ORABPEL-10902]: compilation failed
[Description]: XML parsing failed because "undefined part element.
In WSDL at "http://hp-xeon-01:9799/primenumberws/primenumberService?WSDL", message part element "{http://www.w3.org/2001/XMLSchema}any" is not defined in any of the schemas.
Please make sure the spelling of the element QName is correct and the WSDL import is complete.
[Potential fix]: n/a.
Please let me know what I'm doing wrong.
Regards,
JeffHere is the error code that I'm getting at the invoke:
<remoteFault xmlns="http://schemas.oracle.com/bpel/extension">
<part name="code">
<code>Client</code>
</part>
<part name="summary">
<summary>parsing error: oracle.xml.parser.v2.XMLParseException: Expected name instead of /.</summary>
</part>
<part name="detail">
<stackTrace xmlns="http://xml.apache.org/axis/">parsing error: oracle.xml.parser.v2.XMLParseException: Expected name instead of /. at org.collaxa.thirdparty.apache.axis.message.SOAPFaultBuilder.createFault(SOAPFaultBuilder.java:221) at org.collaxa.thirdparty.apache.axis.message.SOAPFaultBuilder.endElement(SOAPFaultBuilder.java:128) at org.collaxa.thirdparty.apache.axis.encoding.DeserializationContext.endElement(DeserializationContext.java:1083) at org.apache.xerces.parsers.AbstractSAXParser.endElement(Unknown Source) at org.apache.xerces.impl.XMLNSDocumentScannerImpl.scanEndElement(Unknown Source) at org.apache.xerces.impl.XMLDocumentFragmentScannerImpl$FragmentContentDispatcher.dispatch(Unknown Source) at org.apache.xerces.impl.XMLDocumentFragmentScannerImpl.scanDocument(Unknown Source) at org.apache.xerces.parsers.XML11Configuration.parse(Unknown Source) at org.apache.xerces.parsers.XML11Configuration.parse(Unknown Source) at org.apache.xerces.parsers.XMLParser.parse(Unknown Source) at org.apache.xerces.parsers.AbstractSAXParser.parse(Unknown Source) at javax.xml.parsers.SAXParser.parse(Unknown Source) at org.collaxa.thirdparty.apache.axis.encoding.DeserializationContext.parse(DeserializationContext.java:226) at org.collaxa.thirdparty.apache.axis.SOAPPart.getAsSOAPEnvelope(SOAPPart.java:645) at org.collaxa.thirdparty.apache.axis.Message.getSOAPEnvelope(Message.java:424) at org.collaxa.thirdparty.apache.axis.handlers.soap.MustUnderstandChecker.invoke(MustUnderstandChecker.java:62) at org.collaxa.thirdparty.apache.axis.client.AxisClient.invoke(AxisClient.java:173) at org.collaxa.thirdparty.apache.axis.client.Call.invokeEngine(Call.java:2725) at org.collaxa.thirdparty.apache.axis.client.Call.invoke(Call.java:2708) at org.collaxa.thirdparty.apache.axis.client.Call.invoke(Call.java:1738) at com.collaxa.cube.ws.wsif.providers.axis.WSIFOperation_ApacheAxis.invokeAXISMessaging(WSIFOperation_ApacheAxis.java:1902) at com.collaxa.cube.ws.wsif.providers.axis.WSIFOperation_ApacheAxis.invokeRequestResponseOperation(WSIFOperation_ApacheAxis.java:1464) at com.collaxa.cube.ws.wsif.providers.axis.WSIFOperation_ApacheAxis.executeRequestResponseOperation(WSIFOperation_ApacheAxis.java:1029) at com.collaxa.cube.ws.WSIFInvocationHandler.invoke(WSIFInvocationHandler.java:455) at com.collaxa.cube.ws.WSInvocationManager.invoke(WSInvocationManager.java:359) at com.collaxa.cube.ws.WSInvocationManager.invoke(WSInvocationManager.java:161) at com.collaxa.cube.engine.ext.wmp.BPELInvokeWMP.__invoke(BPELInvokeWMP.java:605) at com.collaxa.cube.engine.ext.wmp.BPELInvokeWMP.__executeStatements(BPELInvokeWMP.java:317) at com.collaxa.cube.engine.ext.wmp.BPELActivityWMP.perform(BPELActivityWMP.java:195) at com.collaxa.cube.engine.CubeEngine.performActivity(CubeEngine.java:3501) at com.collaxa.cube.engine.CubeEngine.handleWorkItem(CubeEngine.java:1906) at com.collaxa.cube.engine.dispatch.message.instance.PerformMessageHandler.handleLocal(PerformMessageHandler.java:75) at com.collaxa.cube.engine.dispatch.DispatchHelper.handleLocalMessage(DispatchHelper.java:101) at com.collaxa.cube.engine.dispatch.DispatchHelper.sendMemory(DispatchHelper.java:186) at com.collaxa.cube.engine.CubeEngine.endRequest(CubeEngine.java:5604) at com.collaxa.cube.engine.CubeEngine.createAndInvoke(CubeEngine.java:1301) at com.collaxa.cube.engine.ejb.impl.CubeEngineBean.createAndInvoke(CubeEngineBean.java:117) at com.collaxa.cube.engine.ejb.impl.CubeEngineBean.syncCreateAndInvoke(CubeEngineBean.java:146) at ICubeEngineLocalBean_StatelessSessionBeanWrapper0.syncCreateAndInvoke(ICubeEngineLocalBean_StatelessSessionBeanWrapper0.java:483) at com.collaxa.cube.engine.delivery.DeliveryHandler.initialRequestAnyType(DeliveryHandler.java:489) at com.collaxa.cube.engine.delivery.DeliveryHandler.initialRequest(DeliveryHandler.java:425) at com.collaxa.cube.engine.delivery.DeliveryHandler.request(DeliveryHandler.java:132) at com.collaxa.cube.ejb.impl.DeliveryBean.request(DeliveryBean.java:82) at IDeliveryBean_StatelessSessionBeanWrapper22.request(IDeliveryBean_StatelessSessionBeanWrapper22.java:479) at com.oracle.bpel.client.delivery.DeliveryService.request(DeliveryService.java:101) at com.oracle.bpel.client.delivery.DeliveryService.request(DeliveryService.java:65) at ngDoInitiate.jspService(_ngDoInitiate.java:220) at com.orionserver.http.OrionHttpJspPage.service(OrionHttpJspPage.java:56) at oracle.jsp.runtimev2.JspPageTable.service(JspPageTable.java:347) at oracle.jsp.runtimev2.JspServlet.internalService(JspServlet.java:509) at oracle.jsp.runtimev2.JspServlet.service(JspServlet.java:413) at javax.servlet.http.HttpServlet.service(HttpServlet.java:853) at com.evermind.server.http.ServletRequestDispatcher.invoke(ServletRequestDispatcher.java:810) at com.evermind.server.http.ServletRequestDispatcher.include(ServletRequestDispatcher.java:121) at com.evermind.server.http.EvermindPageContext.include(EvermindPageContext.java:267) at displayProcess.jspService(_displayProcess.java:303) at com.orionserver.http.OrionHttpJspPage.service(OrionHttpJspPage.java:56) at oracle.jsp.runtimev2.JspPageTable.service(JspPageTable.java:347) at oracle.jsp.runtimev2.JspServlet.internalService(JspServlet.java:509) at oracle.jsp.runtimev2.JspServlet.service(JspServlet.java:413) at javax.servlet.http.HttpServlet.service(HttpServlet.java:853) at com.evermind.server.http.ServletRequestDispatcher.invoke(ServletRequestDispatcher.java:810) at com.evermind.server.http.ServletRequestDispatcher.forwardInternal(ServletRequestDispatcher.java:322) at com.evermind.server.http.ServletRequestDispatcher.forward(ServletRequestDispatcher.java:220) at com.collaxa.cube.fe.DomainFilter.doFilter(DomainFilter.java:138) at com.evermind.server.http.ServletRequestDispatcher.invoke(ServletRequestDispatcher.java:649) at com.evermind.server.http.ServletRequestDispatcher.forwardInternal(ServletRequestDispatcher.java:322) at com.evermind.server.http.HttpRequestHandler.processRequest(HttpRequestHandler.java:790) at com.evermind.server.http.HttpRequestHandler.run(HttpRequestHandler.java:270) at com.evermind.server.http.HttpRequestHandler.run(HttpRequestHandler.java:112) at com.evermind.util.ReleasableResourcePooledExecutor$MyWorker.run(ReleasableResourcePooledExecutor.java:192) at java.lang.Thread.run(Thread.java:534)</stackTrace>
</part>
</remoteFault> -
Document style Web Service the standard?
Hi,
A colleague of mine just told me that we should not be building RPC style web services since document style are the standard now. Is this true? I couldn't find any such phrase in WS-I BP 1.0.
If this is not true then is it even a possiblity that in future Document style will be the standard?
Thanks, Sid.In this context I think your friend is using 'standard' to mean 'reasonably common and quite trendy at the moment'.
RPC based WS was a bad idea in because it destroys some of the loose coupling you gain using WS rather than say, CORBA, which is the number three reason for using WS. (number one being your boss spent lots of money on the tools and would look silly if you don't use them, and number two being WS tunnelling through firewalls).
Pete -
How to call a secure external Web Service using Oracle BPEL and OWSM
Hi,
i have to invoke an external secure Web Service using SOA Suite 10.1.3.1, but i don´t know how to do this. Do i use OWSM gateway or Agent? how to configure the gateway or agent to pass the required security to the external secure web service.
thanks in advance
DongAre you getting any errors? What type of XAI Class are you using?
One thing I've noticed is that if you are making changes to the XAI Sender you will have to restart the environment before the changes can take effect.
Also, if you are using RTHTTPSNDR as XAI Class you may have to include the HTTP Method - Post in the context.
Hope this helps.
Regards,
Philip -
Does UTL_HTTP support calling document style web service??
Hi,
I am exploring UTL_HTTP options for one of the web service call requirement at a customer site.
Can any one tell if they have used UTL_HTTP for a document style service.
If so, pls share the code.
TIA,
-Bhawani>
wscompile -keep -verbose -import -f:documentliteral
-f:nodatabinding config.xml
wscompile -cp . -keep -verbose -gen:server
serverconfig.xml
[creating model: test]
[creating service: Test]
[creating port: MyIntf]
[creating operation: callTXLife]
error: Type "javax.xml.soap.SOAPElement" implements
more than one interface, interfaces:
"javax.xml.soap.Node", "org.w3c
.dom.Element" ...
I have the same problem with J2EE 1.4 AS Developer Release. -
Problem in calling Document Style Web Service
Hi,
I have just downloaded the demos.zip available for WebServices on otn.
I have deployed the stateful document webservice on the Oracle 10g AS
Also i have followed all the steps mentioned in the UTL_DBWS callout utility.
But i am confused with the setting of the request & response XMLTYPE for a webservice.
I am attaching the code in which i have used to call a webservice kindly tell me if there is anything wrong in my approach
CREATE OR REPLACE FUNCTION DOC_WBSRVC_TEST
RETURN VARCHAR2
AS
SERVICE_ UTL_DBWS.SERVICE;
CALL_ UTL_DBWS.CALL;
SERVICE_QNAME UTL_DBWS.QNAME;
PORT_QNAME UTL_DBWS.QNAME;
XOPERATION_QNAME UTL_DBWS.QNAME;
XSTRING_TYPE_QNAME UTL_DBWS.QNAME;
RESPONSE XMLTYPE;
REQUEST XMLTYPE;
BEGIN
--UTL_DBWS.SET_HTTP_PROXY ('172.17.24.12:8080');
SERVICE_QNAME :=
UTL_DBWS.TO_QNAME
('http://psc-pc0592.corp.satyam.ad/statefuldocws/docservice?WSDL',
'StatefulDoc'
SERVICE_ := UTL_DBWS.CREATE_SERVICE (SERVICE_QNAME);
CALL_ := UTL_DBWS.CREATE_CALL (SERVICE_);
UTL_DBWS.SET_TARGET_ENDPOINT_ADDRESS
(CALL_,
'http://psc-pc0592.corp.satyam.ad/statefuldocws/docservice'
UTL_DBWS.SET_PROPERTY (CALL_, 'SOAPACTION_USE', 'TRUE');
UTL_DBWS.SET_PROPERTY (CALL_, 'SOAPACTION_URI', 'urn:oracle:startShopping');
UTL_DBWS.SET_PROPERTY (CALL_, 'OPERATION_STYLE', 'DOCUMENT');
REQUEST :=
XMLTYPE
( '<n:startShopping xmlns:n="urn:oracle:startShopping">'
|| '</n:startShopping>'
RESPONSE := UTL_DBWS.INVOKE (CALL_, REQUEST);
RETURN RESPONSE.EXTRACT
('//startShoppingOutput/child::text()',
'xmlns="http://psc-pc0592.corp.satyam.ad/statefuldocws/docservice"'
).GETSTRINGVAL ();
END;
Thanks & Regards,
MDHi Aviad,
thanks for your fast reply.
But in Web Service Navigator my Web Service is not shown, because I used the SOAP Adapter.
<b>My Web Service link:</b>
http://<host>:<port>/XISOAPAdapter/MessageServlet?channel=:SRV_GBD_WS_GET_DEB_DETAIL:CC_GBD_WEBSERVICE_SENDER&version=3.0&Sender.Service=&Interface=%5E*
During executing Web Dynpro I got following errors:
1. 'The system cannot find the path specified'.
2. com.sap.tc.webdynpro.model.webservice.exception.WSModelRuntimeException: Exception on creation of service metadata for WSDL URL
Regards,
Mario -
Complex schemas using Document Literal Web Services
I am trying to use document style web services and top down approach. I prepared a request, response and fault schema. In those schemas i have attributes defined. When i use WSCOMPILE, it does not generate proper classes, if the schema is too complex. It has worked only for simple schemas. Is there any other way of doing it?
Hi!
If you are using jwsdp 1.6 or earlier and I remember correctly this uses JAXB 1.0 for databinding, which doesnt support all schema constructs.. Even if I'm wrong on that, you could use the -f:nodatabinding option with wscompile and do your own databinding with for example xmlbeans, which supports all schema constructs and is far more flexible than jaxb 1.0 (= personal opinion ;-)
good luck!
/Ole -
Using message-style web service by a Microsoft client
Does anyone have a sample Microsoft client using message-style web service? BEA
does not provide one. I found MS client does not receive messages published between
2 calls to method "receive", while the sample Java client ConsumerClient.java
does.
ConsumerClient.java is like:
while(true){
Object result = method.invoke(null);
sleep(20000); // not in sample, added for my test
System.out.println(result);
My VBScript code is like:
Set SC = CreateObject("MSSOAP.SoapClient")
SC.mssoapinit "http://localhost:7001/msg/Receiver/Receiver.wsdl", "", "", ""
While TRUE
Res = SC.receive
WScript.echo "Res = " & Res
Res = ""
' do something that takes 20 seconds
Wend
I added 20 seconds between calls so I can publish a message between 2 calls. I
found the Java client receives the message but the VBScript client doesn't. Has
anyone else observed this?Hi Kevin,
Thanks for your feedback.
Header support is planed for the next major release.
regards,
-manoj
Kevin Jiang wrote:
Hi Manoj,
Can you use SOAP header to pass session id accross instead of HTTP header? MS
SOAP toolkit 2.0 support access to SOAP header.
My app needs to use topic instead of queue. But as I said earlier, I can use MS
XML toolkit to access HTTP header. So I have a work around.
Thanks for all your responses with regard to this question!
Kevin
manoj cheenath <[email protected]> wrote:
Hum! i thought you were not able to receive message at all. now
i understood the problem. yes we are using http header to pass
session id accross, in the case of web service client who wants
to subscribe to JMS topics. I cant think of any other way to do
this. if you have any suggestions, i very much like to hear it.
for your application is it possible to use queues instead of topics?
we do not use http session information in the case of JMS queues.
-manoj
Kevin Jiang wrote:
Hi Manoj,
Your sample code is basically same as mine. It would also lose messagespublished
between calls to "receive" method.
I figured out what's going on. Undocumented by BEA, the web servicesends JMS
session ID in HTTP header along with first message. When client makessubsequent
calls to "receive", this ID must be sent back. I found this by usinga SOAP trace
tool.
Unfortunately, MS SOAP toolkit doesn't support access to HTTP header.So one has
to use MS XML toolkit to use message-style web service, when writingMS clients.
manoj cheenath <[email protected]> wrote:
an example of using message style web services with
ms soap toolkit is attached. let me know if this works
for you.
regards,
-manoj
Kevin Jiang wrote:
Hi Manoj,
I just changed anyType to string and the problem still happens.
Thanks,
Kevin
manoj cheenath <[email protected]> wrote:
I have not tryed message style web services with MS soap toolkit.
I think the problem is because the WSDL for the message style
web service use xsd:anyType as the return type and MS soap is
not able to understand it. can you pls modify the xsd:anyType to
xsd:string (or someother base type) in the WSDL.
SC.mssoapinit can load wsdl stored as a local file. so it should
be easy to make this change.
regards,
-manoj
Kevin Jiang wrote:
Does anyone have a sample Microsoft client using message-style
web
service? BEA
does not provide one. I found MS client does not receive messages
published
between
2 calls to method "receive", while the sample Java client ConsumerClient.java
does.
ConsumerClient.java is like:
while(true){
Object result = method.invoke(null);
sleep(20000); // not in sample, added for my test
System.out.println(result);
My VBScript code is like:
Set SC = CreateObject("MSSOAP.SoapClient")
SC.mssoapinit "http://localhost:7001/msg/Receiver/Receiver.wsdl",
While TRUE
Res = SC.receive
WScript.echo "Res = " & Res
Res = ""
' do something that takes 20 seconds
Wend
I added 20 seconds between calls so I can publish a message between2 calls. I
found the Java client receives the message but the VBScript clientdoesn't. Has
anyone else observed this? -
Unable to call WSS (WS-Security) enabled Web Service using UTL_DBWS
We are attempting to call a WSS (WS-Security) enabled Web Service from PL/SQL using the UTL_DBWS package (see [http://download.oracle.com/docs/cd/B19306_01/appdev.102/b14258/u_dbws.htm#CHDIDGJH] ). We are doing this in similar fashion to [http://www.oracle-base.com/articles/10g/utl_dbws10g.php] with calls to utl_dbws.create_service, utl_dbws.create_call and utl_dbws.invoke.
Using this method we can successfully call an unsecured Web Service, but calls to WSS-enabled Web Services fail. We are currently using Oracle Database 10.2.0.3.
The failure we are getting is:
ORA-29532: Java call terminated by uncaught Java exception: javax.xml.rpc.soap.SOAPFaultException:
com.sun.xml.wss.XWSSecurityException: Message does not conform to configured
policy ( AuthenticationTokenPolicy(S) ): No Security Header found;nested
exception is com.sun.xml.wss.XWSSecurityException:
com.sun.xml.wss.XWSSecurityException: Message does not conform to configured
policy ( AuthenticationTokenPlicy(S) ): No Security Header found
Apparently UTL_DBWS does not support calling WSS enabled services, although this doesn't appear to be an officially recognised position. Does anyone know if Oracle are planning to support this soon (if ever)? Looking at Re: Calling WS from PL/SQL using WS-security suggests that support has been considered before, but not yet realised.
Thanks,
TomHaving raised a Service Request with Oracle support on this, I got the following response from Oracle Development (On unpublished bug [8542959|https://metalink2.oracle.com/metalink/plsql/ml2_documents.showDocument?p_database_id=BUG&p_id=8542959]):
Development has confirmed that WS-Security is not supported through UTL_DBWS. They have also acknowledged that this is not documented and they will change the official Oracle documentation will reflect this fact. From what is being stated, it would appear that there is no plan to support the use of WS-Security through UTL_DBWS in any release in the near future.
So, in short, without developing your own home-grown SOAP request, there is no way to call a WSS enabled web service from within PL/SQL.
-Tom
Maybe you are looking for
-
How do I find the size of a folder (not file) in Bridge CS6
-
Updating to software version 1.1.4
I have a unique situation ... I originally bought the Jan. software upgrade and installed it on a different computer without my home library (obviously a mistake). After I had to restore my touch, I lost my new apps and had to email Apple to get them
-
An error occurred when attempting to call the providers register function.
Hi I am getting the following error while registering the Portlet to a WSRP portal. ]An error occurred when attempting to call the providers register function. (WWC-43134) An error occured during the call to the WSRP Provider: Java stack trace from r
-
Setup log file Critical errors
if i start the setup it says Critical Errors Found In Setup Please See The Setup Log.File For Details
-
Executing file on other server
Can anyone please guide how can we execute file locating on a different server. Regards, Shantanu R. Godbole