SOA 11g - FabricInvocationException when calling EJB Service
Hi All,
I have a case where a stateles ejb needs to be called from a composite. It is imported via EJB Service adapter.
The question here is: How to correctly receive a thrown exception as the fault type it is supposed to be?
Some more details of the problem:
The invocation of EJB works just fine. The called method executes, returns correct responses. Except for when throwing an exception.
I'm throwing a ProcessingException, which I would expect to receive as a fault. The message type is present in the automatically generated WSDL.
Instead I am getting:
<fault>
<bpelFault>
<faultType>0</faultType>
<remoteFault>
<part name="summary">
<summary>oracle.fabric.common.FabricInvocationException: Unable to invoke</summary>
</part>
<part name="detail">
<detail>Throwing requested exception</detail>
</part>
<part name="code">
<code>null</code>
</part>
</remoteFault>
</bpelFault>
</fault>
<faultType>
<message>0</message>
</faultType>
The detail part is actually the text I use to create the exception in EJB, this could be used as a workaround to identify the exception, but a fault of correct type would work better with fault handling and policies.
relevant part of the log:
EJBService.getNewMessageIds: [proc]
throwing business exception
<Dec 6, 2011 12:18:22 PM CET> <Error> <oracle.soa.bpel.engine.ws> <BEA-000000> <got FabricInvocationException
de.other.pack.ProcessingException: Throwing requested exception
at com.oracle.os6.SessionEJBBean.getNewMessageIds(SessionEJBBean.java:38)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at com.bea.core.repackaged.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:310)
When using EJB3 with WTC, does my bean need to implement TuxedoService, TuxedoServiceHome or both?
Does my interface need to implement TuxedoService, TuxedoServiceHome or both?
I suspect this is what caused the ClassCastException in the previous post.
These interfaces are not documented anywhere.
Similar Messages
-
Error while calling ejb service call from BPM service
Hi,
We are using the Oracle 11.1.1.5.0
We are calling ejb service call from BPM service to update the data to Oracle database.
We are getting the below error when we executing the ejb service call from BPM Service.
<Error> <EJB> <BEA-010026> <Exception occurred du
ring commit of transaction Name=[EJB oracle.bpm.bpmn.engine.ejb.impl.BPMNDeliver
yBean.handleCallback(java.lang.String,java.lang.String,java.lang.String,int,bool
ean)],Xid=BEA1-45B91984D57960994897(30845116),Status=Rolled back. [Reason=javax.
transaction.xa.XAException: JDBC driver does not support XA, hence cannot be a p
articipant in two-phase commit. To force this participation, set the GlobalTrans
actionsProtocol attribute to LoggingLastResource (recommended) or EmulateTwoPhas
eCommit for the Data Source = EBSConnection],numRepliesOwedMe=0,numRepliesOwedOt
hers=0,seconds since begin=1,seconds left=60,XAServerResourceInfo[SOADataSource_
base_domain]=(ServerResourceInfo[SOADataSource_base_domain]=(state=rolledback,as
signed=soa_server1),xar=SOADataSource,re-Registered = false),XAServerResourceInf
o[ArCnTaskForms@EBSConnection@EBSConnection_base_domain]=(ServerResourceInfo[ArC
nTaskForms@EBSConnection@EBSConnection_base_domain]=(state=rolledback,assigned=s
oa_server1),xar=weblogic.jdbc.wrapper.JTSEmulateXAResourceImpl@fa5476,re-Registe
red = false),SCInfo[base_domain+soa_server1]=(state=rolledback),properties=({web
logic.jdbc.remote.EBSConnection=t3://192.168.10.114:8001, weblogic.transaction.n
ame=[EJB oracle.bpm.bpmn.engine.ejb.impl.BPMNDeliveryBean.handleCallback(java.la
ng.String,java.lang.String,java.lang.String,int,boolean)]}),local properties=({w
eblogic.jdbc.jta.SOADataSource=[ No XAConnection is attached to this TxInfo ]}),
OwnerTransactionManager=ServerTM[ServerCoordinatorDescriptor=(CoordinatorURL=soa
server1+192.168.10.114:8001+basedomain+t3+, XAResources={eis/tibjms/Queue, eis
/activemq/Queue, WLStore_base_domain_BPMJMSFileStore, WLStore_base_domain__WLS_s
oa_server1, eis/fioranomq/Topic, eis/jbossmq/Queue, eis/Apps/Apps, eis/websphere
mq/Queue, eis/AQ/aqSample, WLStore_base_domain_SOAJMSFileStore, eis/aqjms/Queue,
WSATGatewayRM_soa_server1_base_domain, eis/sunmq/Queue, eis/pramati/Queue, SSCo
nnectionDS_base_domain, eis/tibjms/Topic, eis/tibjmsDirect/Queue, eis/wls/Queue,
eis/tibjmsDirect/Topic, EDNDataSource_base_domain, eis/wls/Topic, eis/aqjms/Top
ic, RL3TST_base_domain, ArCnTaskForms@EBSConnection@EBSConnection_base_domain, S
OADataSource_base_domain, WLStore_base_domain_UMSJMSFileStore_auto_2},NonXAResou
rces={})],CoordinatorURL=soa_server1+192.168.10.114:8001+base_domain+t3+): weblo
gic.transaction.RollbackException: Could not prepare resource 'ArCnTaskForms@EBS
Connection@EBSConnection_base_domain
JDBC driver does not support XA, hence cannot be a participant in two-phase comm
it. To force this participation, set the GlobalTransactionsProtocol attribute to
LoggingLastResource (recommended) or EmulateTwoPhaseCommit for the Data Source
= EBSConnection
at weblogic.transaction.internal.TransactionImpl.throwRollbackException(
TransactionImpl.java:1881)
at weblogic.transaction.internal.ServerTransactionImpl.internalCommit(Se
rverTransactionImpl.java:345)
at weblogic.transaction.internal.ServerTransactionImpl.commit(ServerTran
sactionImpl.java:239)
at weblogic.ejb.container.internal.BaseLocalObject.postInvoke1(BaseLocal
Object.java:622)
at weblogic.ejb.container.internal.BaseLocalObject.__WL_postInvokeTxRetr
y(BaseLocalObject.java:455)
at weblogic.ejb.container.internal.SessionLocalMethodInvoker.invoke(Sess
ionLocalMethodInvoker.java:52)
at oracle.bpm.bpmn.engine.ejb.impl.BPMNDeliveryBean_of8dk6_ICubeDelivery
LocalBeanImpl.handleCallback(Unknown Source)
at com.collaxa.cube.engine.dispatch.message.instance.CallbackDeliveryMes
sageHandler.handle(CallbackDeliveryMessageHandler.java:47)
at com.collaxa.cube.engine.dispatch.DispatchHelper.handleMessage(Dispatc
hHelper.java:140)
at com.collaxa.cube.engine.dispatch.BaseDispatchTask.process(BaseDispatc
hTask.java:88)
at com.collaxa.cube.engine.dispatch.BaseDispatchTask.run(BaseDispatchTas
k.java:64)
at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExec
utor.java:886)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor
.java:908)
at java.lang.Thread.run(Thread.java:662)
Caused by: javax.transaction.xa.XAException: JDBC driver does not support XA, he
nce cannot be a participant in two-phase commit. To force this participation, se
t the GlobalTransactionsProtocol attribute to LoggingLastResource (recommended)
or EmulateTwoPhaseCommit for the Data Source = EBSConnection
at weblogic.jdbc.wrapper.JTSXAResourceImpl.prepare(JTSXAResourceImpl.jav
a:83)
at weblogic.transaction.internal.XAServerResourceInfo.prepare(XAServerRe
sourceInfo.java:1327)
at weblogic.transaction.internal.XAServerResourceInfo.prepare(XAServerRe
sourceInfo.java:513)
at weblogic.transaction.internal.ServerSCInfo$1.run(ServerSCInfo.java:36
8)
at weblogic.work.SelfTuningWorkManagerImpl$WorkAdapterImpl.run(SelfTunin
gWorkManagerImpl.java:528)
at weblogic.work.ExecuteThread.execute(ExecuteThread.java:209)
at weblogic.work.ExecuteThread.run(ExecuteThread.java:178)
.>
<12 Oct, 2012 12:34:40 PM IST> <Error> <oracle.soa.bpel.engine.dispatch> <BEA-00
0000> <failed to handle message
javax.transaction.xa.XAException: JDBC driver does not support XA, hence cannot
be a participant in two-phase commit. To force this participation, set the Globa
lTransactionsProtocol attribute to LoggingLastResource (recommended) or EmulateT
woPhaseCommit for the Data Source = EBSConnection
at weblogic.jdbc.wrapper.JTSXAResourceImpl.prepare(JTSXAResourceImpl.jav
a:83)
at weblogic.transaction.internal.XAServerResourceInfo.prepare(XAServerRe
sourceInfo.java:1327)
at weblogic.transaction.internal.XAServerResourceInfo.prepare(XAServerRe
sourceInfo.java:513)
at weblogic.transaction.internal.ServerSCInfo$1.run(ServerSCInfo.java:36
8)
at weblogic.work.SelfTuningWorkManagerImpl$WorkAdapterImpl.run(SelfTunin
gWorkManagerImpl.java:528)
at weblogic.work.ExecuteThread.execute(ExecuteThread.java:209)
at weblogic.work.ExecuteThread.run(ExecuteThread.java:178)
>
<12 Oct, 2012 12:34:40 PM IST> <Error> <oracle.soa.bpel.engine.dispatch> <BEA-00
0000> <Failed to handle dispatch message ... exception ORABPEL-05002
Message handle error.
error while attempting to process the message "com.collaxa.cube.engine.dispatch.
message.instance.CallbackDeliveryMessage"; the reported exception is: Error comm
itting transaction:; nested exception is: javax.transaction.xa.XAException: JDBC
driver does not support XA, hence cannot be a participant in two-phase commit.
To force this participation, set the GlobalTransactionsProtocol attribute to Log
gingLastResource (recommended) or EmulateTwoPhaseCommit for the Data Source = EB
SConnection
This error contained an exception thrown by the message handler.
Check the exception trace in the log (with logging level set to debug mode).
ORABPEL-05002
Message handle error.
error while attempting to process the message "com.collaxa.cube.engine.dispatch.
message.instance.CallbackDeliveryMessage"; the reported exception is: Error comm
itting transaction:; nested exception is: javax.transaction.xa.XAException: JDBC
driver does not support XA, hence cannot be a participant in two-phase commit.
To force this participation, set the GlobalTransactionsProtocol attribute to Log
gingLastResource (recommended) or EmulateTwoPhaseCommit for the Data Source = EB
SConnection
This error contained an exception thrown by the message handler.
Check the exception trace in the log (with logging level set to debug mode).
at com.collaxa.cube.engine.dispatch.DispatchHelper.handleMessage(Dispatc
hHelper.java:207)
at com.collaxa.cube.engine.dispatch.BaseDispatchTask.process(BaseDispatc
hTask.java:88)
at com.collaxa.cube.engine.dispatch.BaseDispatchTask.run(BaseDispatchTas
k.java:64)
at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExec
utor.java:886)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor
.java:908)
at java.lang.Thread.run(Thread.java:662)
>
Could any body help on this issue.It is little bit urgent for us to resolve.
Thanks in advance.Thanks Sudipto Desmukh,
The link is helpful me to resolve this issue.
Thanks,
Narasimha E -
ORA-28868 error when calling Web service over HTTPS from PL/SQL utl_http
I am getting error message ORA-28868 error when calling Web service over HTTPS from PL/SQL utl_http PL/SQL package,
when browsed through some of the messages they point to setting Oracle Wallet Manager.
I am trying to connect
Any idea on how to resolve this issue ?
your input is appreciated.
Thanks
RaviDuplicate post ... please ignore.
-
Security Problem when call EJB in servlet:[Security:090398]Invalid Subject
Hi guys,
I have several years experience with Java and EJB developing,but still I cann't explain this problem although I already knew the fix...
Please,can anyone help me to explain why? Thanks very much!
Ok,the problem is when I call a remote EJB in one method ,that is everything about EJB is in one method,then everything is ok.But when I just return the
*remote service object from an helper class's static method, and call the service in servlet ,then I get java.lang.SecurityException: [Security:090398]Invalid Subject: principals=[sundan076],which sundan076 is username login into the web application.*
The right way, call method directCall(param) ; The wrong way, call method staticToolCall(final Map param) .
public class EJBServletClient extends HttpServlet
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException
this.doPost(request, response);
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException,
IOException
try
Map<String, String> param = new HashMap<String, String>();
param.put("CTS_CUSTOMER_ID", request.getParameter("CTS_CUSTOMER_ID"));
param.put("CTS_TASK_ID", request.getParameter("CTS_TASK_ID"));
param.put("SERIALNO", request.getParameter("SERIALNO"));
param.put("CUSTOMER_SERVICE_UM", request.getParameter("CUSTOMER_SERVICE_UM"));
Map result = this.directCall(param);
System.out.println(result);
} catch (Exception e)
e.printStackTrace();
throw new ServletException(e);
private Map directCall(Map param) throws Exception
Context context = null;
try
Properties p = new Properties();
p.put(Context.PROVIDER_URL, "t3://10.25.32.13:31256");
p.put(Context.INITIAL_CONTEXT_FACTORY, "weblogic.jndi.WLInitialContextFactory");
p.put(Context.SECURITY_PRINCIPAL, "username");
p.put(Context.SECURITY_CREDENTIALS, "password");
context = new InitialContext(p);
BizApplyServiceHome home = (BizApplyServiceHome) PortableRemoteObject.narrow(
context.lookup("ejb/rcs-css/BizApplyService"), BizApplyServiceHome.class);
BizApplyService bizApplyService = home.create();
return bizApplyService.modifyApplyCustomerInfo(param);
} finally
if (context != null)
context.close();
private Map staticToolCall(final Map param) throws Exception
BizApplyService bizApplyService = EJBTool.getBizApplyService();
return bizApplyService.modifyApplyCustomerInfo(param);
public class EJBTool
public static BizApplyService getBizApplyService() throws Exception
Context context = null;
try
Properties p = new Properties();
p.put(Context.PROVIDER_URL, "t3://10.25.32.13:31256");
p.put(Context.INITIAL_CONTEXT_FACTORY, "weblogic.jndi.WLInitialContextFactory");
p.put(Context.SECURITY_PRINCIPAL, "username");
p.put(Context.SECURITY_CREDENTIALS, "password");
context = new InitialContext(p);
BizApplyServiceHome home = (BizApplyServiceHome) PortableRemoteObject.narrow(
context.lookup("ejb/rcs-css/BizApplyService"), BizApplyServiceHome.class);
return home.create();
} finally
if (context != null)
context.close();
java.lang.SecurityException: [Security:090398]Invalid Subject: principals=[sundan076]
at weblogic.rjvm.ResponseImpl.unmarshalReturn(ResponseImpl.java:234)
at weblogic.rmi.cluster.ClusterableRemoteRef.invoke(ClusterableRemoteRef.java:348)
at weblogic.rmi.cluster.ClusterableRemoteRef.invoke(ClusterableRemoteRef.java:259)
at com.pingan.rcs.css.biz.service.remote.ejb.bizApplyService_u7jjbk_EOImpl_1032_WLStub.modifyApplyCustomerInfo(Unknown Source)
at com.pingan.pafax.web.EJBServletClient.staticToolCall(EJBServletClient.java:80)
at com.pingan.pafax.web.EJBServletClient.doPost(EJBServletClient.java:43)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:727)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:820)
at weblogic.servlet.internal.StubSecurityHelper$ServletServiceAction.run(StubSecurityHelper.java:227)
at weblogic.servlet.internal.StubSecurityHelper.invokeServlet(StubSecurityHelper.java:125)
at weblogic.servlet.internal.ServletStubImpl.execute(ServletStubImpl.java:292)
at weblogic.servlet.internal.ServletStubImpl.execute(ServletStubImpl.java:175)
at weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.run(WebAppServletContext.java:3594)
at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:321)
at weblogic.security.service.SecurityManager.runAs(SecurityManager.java:121)
at weblogic.servlet.internal.WebAppServletContext.securedExecute(WebAppServletContext.java:2202)
at weblogic.servlet.internal.WebAppServletContext.execute(WebAppServletContext.java:2108)
at weblogic.servlet.internal.ServletRequestImpl.run(ServletRequestImpl.java:1432)
at weblogic.work.ExecuteThread.execute(ExecuteThread.java:201)
at weblogic.work.ExecuteThread.run(ExecuteThread.java:173)
Caused by: java.lang.SecurityException: [Security:090398]Invalid Subject: principals=[sundan076]
at weblogic.security.service.SecurityServiceManager.seal(SecurityServiceManager.java:835)
at weblogic.security.service.SecurityServiceManager.getSealedSubjectFromWire(SecurityServiceManager.java:524)
at weblogic.rjvm.MsgAbbrevInputStream.getSubject(MsgAbbrevInputStream.java:315)
at weblogic.rmi.internal.BasicServerRef.acceptRequest(BasicServerRef.java:875)
at weblogic.rmi.internal.BasicServerRef.dispatch(BasicServerRef.java:310)
at weblogic.rmi.cluster.ClusterableServerRef.dispatch(ClusterableServerRef.java:242)
at weblogic.rjvm.RJVMImpl.dispatchRequest(RJVMImpl.java:1138)
at weblogic.rjvm.RJVMImpl.dispatch(RJVMImpl.java:1020)
at weblogic.rjvm.ConnectionManagerServer.handleRJVM(ConnectionManagerServer.java:240)
at weblogic.rjvm.ConnectionManager.dispatch(ConnectionManager.java:882)
at weblogic.rjvm.MsgAbbrevJVMConnection.dispatch(MsgAbbrevJVMConnection.java:453)
at weblogic.rjvm.t3.MuxableSocketT3.dispatch(MuxableSocketT3.java:322)
at weblogic.socket.BaseAbstractMuxableSocket.dispatch(BaseAbstractMuxableSocket.java:298)
at weblogic.socket.SocketMuxer.readReadySocketOnce(SocketMuxer.java:915)
at weblogic.socket.SocketMuxer.readReadySocket(SocketMuxer.java:854)
at weblogic.socket.EPollSocketMuxer.dataReceived(EPollSocketMuxer.java:215)
at weblogic.socket.EPollSocketMuxer.processSockets(EPollSocketMuxer.java:177)
at weblogic.socket.SocketReaderRequest.run(SocketReaderRequest.java:29)
at weblogic.socket.SocketReaderRequest.execute(SocketReaderRequest.java:42)
at weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:145)
at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:117)
Edited by: 993478 on 2013-3-12 下午8:40I tried your way,it works! Still ,does anyone know why staticToolCall() raised exception?
By the way,here is the code as you suggested:
public class EJBServletClient extends HttpServlet
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException,
IOException
Context context = null;
try
Map<String, String> param = new HashMap<String, String>();
param.put("CTS_CUSTOMER_ID", request.getParameter("CTS_CUSTOMER_ID"));
param.put("CTS_TASK_ID", request.getParameter("CTS_TASK_ID"));
param.put("SERIALNO", request.getParameter("SERIALNO"));
param.put("CUSTOMER_SERVICE_UM", request.getParameter("CUSTOMER_SERVICE_UM"));
//Map result = this.staticToolCall(param);
Properties p = new Properties();
p.put(Context.PROVIDER_URL, "t3://10.25.32.13:31256");
p.put(Context.INITIAL_CONTEXT_FACTORY, "weblogic.jndi.WLInitialContextFactory");
p.put(Context.SECURITY_PRINCIPAL, "username");
p.put(Context.SECURITY_CREDENTIALS, "password");
context = new InitialContext(p);
Map result=EJBTool.modifyApplyCustomerInfo(context, param);
System.out.println(result);
} catch (Exception e)
e.printStackTrace();
throw new ServletException(e);
}finally
if (context != null)
try{context.close();} catch (NamingException e){e.printStackTrace();}
public class EJBTool
public static Map modifyApplyCustomerInfo(Context context, Map param) throws Exception
BizApplyServiceHome home = (BizApplyServiceHome) PortableRemoteObject.narrow(
context.lookup("ejb/rcs-css/BizApplyService"), BizApplyServiceHome.class);
BizApplyService bizApplyService = home.create();
Map result = bizApplyService.modifyApplyCustomerInfo(param);
return result;
} -
"Missing port information" when calling web service
I have implemented a web service that works fine as long as I use primitive types as arguments and return types, but when I add a method that takes a user-defined class as an argument, I receive the following error when calling any of the methods in the web service:
[java] java.rmi.RemoteException: received fault: "Missing port information"
(code: "Server" namespace: "http://schemas.xmlsoap.org/soap/envelope/"); nested
exception is:
[java] received fault: "Missing port information" (code: "Server" names
pace: "http://schemas.xmlsoap.org/soap/envelope/")
[java] java.rmi.RemoteException: received fault: "Missing port information"
(code: "Server" namespace: "http://schemas.xmlsoap.org/soap/envelope/"); nested
exception is:
[java] received fault: "Missing port information" (code: "Server" names
pace: "http://schemas.xmlsoap.org/soap/envelope/")
[java] received fault: "Missing port information" (code: "Server" namespace
: "http://schemas.xmlsoap.org/soap/envelope/")
[java] at com.sun.xml.rpc.client.StreamingSender._raiseFault(StreamingS
ender.java:321)
[java] at com.sun.xml.rpc.client.StreamingSender._send(StreamingSender.
java:211)
[java] at qsws.MyItf_Stub.HelloWorld(Unknown Source)
[java] at qsws.WSClient.main(Unknown Source)
The class I pass as an argument implements Serializable and a user-defined interface and it has two public member variables (int and String).
Anyone know why I receive this error?
/MagnusI am also seeing this same error. I have rebuilt and redeployed the service several times, but am still stuck getting this error. Strangely enough, the Tomcat server where the service is hosted is not reporting this type of error. Instead, it is recording an error 500 (Server Internal Error) each time I try to execute one of my services. I trimmed out the meat of the service and configured it so that it would echo the input parameters to the output (they are actually in/out params) but even this reduced configuration gives an error 500. I am inclined to suspect my deployment, but I have checked it several times against the examples.
Anyone else see the error 500 reported as missing port information? -
How to deal with complex SOAP responses when calling web services ???
Hi all,
I have an issue when calling a web service that returns a complex
SOAP response message. With simple responses (e. g. array of strings) it
worked.
I created the PDF as an Interactive form with Livecycle Designer 8.2.
The Javascript looks like this:
var cURL = "http://blabla";
var cTestString = "too";
SOAP.wireDump=true;
var response = SOAP.request(
cURL: cURL,
oRequest: {
"http://blabla.com/:complete" : {
arg0: cTestString
cAction: "http://bla.com:50000/"
var resp = response["http://blabla.com:serviceResponse"];
console.println("lenght:"+resp.length);
var myns = "http://blabla.com/namespace";
for (var nItem in resp.return)
console.println("" + nItem + " " + resp.return[nItem] );
for (var ConceptView in resp.return[nItem])
console.println(" "+resp.return[nItem].length);
console.println(" "+ConceptView+" "+resp.return[nItem][ConceptView] );
if (ConceptView == myns + ":Response")
for (var item2 in resp.return[nItem][ConceptView]){
console.println(" "+item2+" "+resp.return[nItem][ConceptView][item2] );
I call the service and when I realized that I do not find out the type of the object returned, I used the nested for-in-loops to iterate through it. But it seems that there is just one item in the Javascript object returned, although the SOAP message clearly shows that there are more than one item.
Can you help me?
One key problem when analyzing this issue is that I do not know at all
the Javascript type of response. We suspected it might be an array, but it is not
because the method .length returns "undefined". It would already be
helpful to know at least the type of this object and to know callable
methods and so on ...
Best regards
Christoph
P.S. As mentioned I used Livecycle Designer 8.2 and displayed and
debugged the document using Acrobat 9.Christoph,
Firstly LiveCycle Designer 8.2 is still not supported to develop forms as per my knowledge. The latest version compatible for SAP Interactive Forms is ALD 8.0.
There is a difference between Acrobat based forms and LiveCycle forms and based on your coding it looks to me that you are trying to create a LiveCycle based form with coding of Acrobat which is not supported in LiveCycle Desginer, which is why you may be getting the error.
I hope that does not confuse you, so may check this [link|http://www.acrobatusers.com/articles/2006/08/designer_or_forms/index.php] for some clear information on what point I was trying to make.
Chintan -
Hit TransitionException when call web service in bpm
hello, my mesage of exception like follows:
<br>
com.sap.glx.core.kernel.api.TransitionException: An exception occurred while executing the script "_FileIn:AUTOMATED_ACTIVITY_FI_Notice_PSP(
com.sap.glx.adapter.BPMNAdapter:Token_0_CSS_FileIn_58b390c7e1a007da73193237933adb39 token,
com.sap.glx.adapter.BPMNAdapter:Instance_0_CSS_FileIn_58b390c7e1a007da73193237933adb39 parent,
com.sap.glx.adapter.internal.ContainerAdapter:Context_0_IRO_58b390c7e1a007da73193237933adb39 context_0){
exit=new com.sap.glx.adapter.BPMNAdapter:Exit();
exit:addParameter(token);
exit:addParameter(parent);
exit:addParameter(context_0);
exit:onActivation("4B1F796E2DC84120E4AC11DEB8BF00016C0D596F", parent, token);
delete exit;
controller=new com.sap.glx.adapter.internal.ExceptionAdapter:ExceptionController();
controller:setContext(token);
delete controller;
callscope=new com.sap.glx.adapter.internal.TypeRegistry:Scope_20_FileIn_58b390c7e1a007da73193237933adb39(parent);
call=new com.sap.glx.adapter.UnifiedConnectivityAdapter:Call_3_FI_Notice_PSP_58b390c7e1a007da73193237933adb39(callscope);
request=callscope:instantiate("http://tsmc.com/csspoc/notice/ejb/sb/", "#entrustSendingNotice");
mapper=new com.sap.glx.adapter.internal.Transformer:DataMapper();
yves_in=new com.sap.glx.adapter.internal.Transformer:Data();
yves_out=new com.sap.glx.adapter.internal.Transformer:Data();
data=context_0:getData();
yves_in:setData("tsmc.com/filein/pc/iresolution/Pool/FileIn", "$tsmc.com/filein/pc/iresolution/Pool/FileIn:IRO", data, "F2E8AB22162217BCFE0495CA03E629FD");
yves_out:setData("http://tsmc.com/csspoc/notice/ejb/sb/", "$http://tsmc.com/csspoc/notice/ejb/sb/:entrustSendingNotice", request, "0B03C177B47A4396F51FAC817E2C3870");
mapper:map("4B1F796E2DCB4E62E4AC11DEB49600016C0D596F_58b390c7e1a007da73193237933adb39", yves_in, yves_out);
request=yves_out:getData("http://tsmc.com/csspoc/notice/ejb/sb/", "$http://tsmc.com/csspoc/notice/ejb/sb/:entrustSendingNotice", "0B03C177B47A4396F51FAC817E2C3870");
delete yves_in;
delete yves_out;
delete mapper;
call:setInputData("http://tsmc.com/csspoc/notice/ejb/sb/", "$http://tsmc.com/csspoc/notice/ejb/sb/:entrustSendingNotice", request);
response=callscope:instantiate("http://tsmc.com/csspoc/notice/ejb/sb/", "#entrustSendingNoticeResponse");
call:setOutputData("http://tsmc.com/csspoc/notice/ejb/sb/", "$http://tsmc.com/csspoc/notice/ejb/sb/:entrustSendingNoticeResponse", response);
call:invoke();
response=call:getOutputData("http://tsmc.com/csspoc/notice/ejb/sb/", "$http://tsmc.com/csspoc/notice/ejb/sb/:entrustSendingNoticeResponse");
mapper=new com.sap.glx.adapter.internal.Transformer:DataMapper();
yves_in=new com.sap.glx.adapter.internal.Transformer:Data();
yves_out=new com.sap.glx.adapter.internal.Transformer:Data();
yves_in:setData("http://tsmc.com/csspoc/notice/ejb/sb/", "$http://tsmc.com/csspoc/notice/ejb/sb/:entrustSendingNoticeResponse", response, "0B03C177B47A4396F51FAC817E2C3870");
mapper:map("4B1F796E2DD00950E4AC11DEC9F000016C0D596F_58b390c7e1a007da73193237933adb39", yves_in, yves_out);
delete yves_in;
delete yves_out;
delete mapper;
delete call;
delete callscope;
token:state=14;
com.sap.glx.core.kernel.execution.transition.ScriptTransition.execute(ScriptTransition.java:69)
com.sap.glx.core.kernel.execution.transition.Transition.commence(Transition.java:241)
com.sap.glx.core.kernel.execution.LeaderWorkerPool$Follower.run(LeaderWorkerPool.java:118)
com.sap.glx.core.resource.impl.common.WorkWrapper.run(WorkWrapper.java:58)
com.sap.glx.core.resource.impl.j2ee.ServiceUserManager$ServiceUserImpersonator$1.run(ServiceUserManager.java:116)
java.security.AccessController.doPrivileged(Native Method)
javax.security.auth.Subject.doAs(Subject.java:337)
com.sap.glx.core.resource.impl.j2ee.ServiceUserManager$ServiceUserImpersonator.run(ServiceUserManager.java:114)
com.sap.engine.core.thread.impl3.ActionObject.run(ActionObject.java:37)
java.security.AccessController.doPrivileged(Native Method)
com.sap.engine.core.thread.impl3.SingleThread.execute(SingleThread.java:169)
com.sap.glx.core.kernel.api.TransitionException: An exception occurred while executing the script command "call:invoke()"
com.sap.glx.core.kernel.trigger.config.Script.execute(Script.java:675)
... (11 more)
com.sap.glx.core.kernel.api.TransitionException: com.sap.glx.adapter.api.AdapterException: Unexpected exception occured.
com.sap.glx.core.dock.impl.DockObjectImpl.invokeMethod(DockObjectImpl.java:465)
com.sap.glx.core.kernel.trigger.config.Script$MethodInvocation.execute(Script.java:247)
... (12 more)
com.sap.glx.adapter.api.AdapterException: Unexpected exception occured.
com.sap.glx.adapter.app.ucon.UnifiedWebServiceCallObject.invokeWebServiceOperation(UnifiedWebServiceCallObject.java:333)
com.sap.glx.adapter.app.ucon.UnifiedWebServiceCallClass.invoke(UnifiedWebServiceCallClass.java:197)
... (14 more)
com.sap.glx.adapter.api.AdapterException: Exception occured during wsdas initialization.
com.sap.glx.adapter.app.ucon.UnifiedConnectivityAdapter.createNewWSDAS(UnifiedConnectivityAdapter.java:654)
com.sap.glx.adapter.app.ucon.UnifiedWebServiceCallClass.getWSDAS(UnifiedWebServiceCallClass.java:53)
... (16 more)
com.sap.engine.services.webservices.espbase.discovery.TargetNotMappedException: Logical Target CSD.SystemHome.f7sap03 not mapped to a physical system.
com.sap.esi.esp.service.server.query.discovery.DestinationsHelperImplSoa.getLogicalDestination(DestinationsHelperImplSoa.java:831)
com.sap.esi.esp.service.server.query.discovery.DestinationsHelperImplSoa.getWSDLUrl(DestinationsHelperImplSoa.java:985)
com.sap.engine.services.webservices.espbase.client.dynamic.GenericServiceFactory.getWSDLUrl(GenericServiceFactory.java:582)
com.sap.engine.services.webservices.espbase.client.dynamic.GenericServiceFactory.createService_NewInstance(GenericServiceFactory.java:338)
com.sap.engine.services.webservices.espbase.client.dynamic.GenericServiceFactory.createService(GenericServiceFactory.java:321)
com.sap.engine.services.webservices.espbase.wsdas.impl.WSDASImpl.<init>(WSDASImpl.java:33)
com.sap.engine.services.webservices.espbase.wsdas.impl.WSDASFactoryImpl.createWSDAS(WSDASFactoryImpl.java:39)
... (18 more)
<br>
i have no idea why and how it happen, it been work well.Vic,
the vital piece of information in the error stack is this line:
com.sap.engine.services.webservices.espbase.discovery.TargetNotMappedException: Logical Target CSD.SystemHome.f7sap03 not mapped to a physical system.
It seems that there is something wrong with the configuration of the target system for the called Web Service in your AS Java.
Best regards,
Oliver
Edited by: Oliver Goetz on Dec 11, 2009 5:24 PM
Edited by: Oliver Goetz on Dec 11, 2009 5:24 PM -
EJBUtils.cloneObject(...) takes long time when calling EJB's
hi,
using OC4J 10.1.3 in windows XP.
I have a servlet that calls a local stateless EJB (UserManagerBean) (2.1 version) and the EJB calls a second local stateless EJB (UserPersistorBean). The last one does a JDBC query and the result is returned to the servlet. The servlet call takes about 19.5 seconds (in my PC) to execute. Using a profiler, I have detected that EJBUtils.cloneObject(...) is called two times (one for each EJB) and it takes about 18 seconds (every time the servlet call is done, not only the first time !). The JDBC calls it only takes 1.171 seconds.
here is the trace call showed in the profiler: (time is breaked down in each call)
-servlet call time to execute= 19.500
--UserManager_StatelessSessionBeanWrapper18.searchAll(Query) time to execute= 19.500
----com.evermind.server.ejb.StatelessSessionEJBObject.OC4J_invokeMethod(MethodState, Object[], ThreadState) time to execute= 10.750
------com.nte.anthema.security.UserManagerBean.searchAll(Query) time to execute= 10.750
--------UserPersistor_StatelessSessionBeanWrapper16.searchAll(Query) time to execute= 10.750
----------com.evermind.server.ejb.EJBUtils.cloneObject(Object, AbstractEJBHome) time to execute= 9.578 (related with UserPersistorBean)
----------com.evermind.server.ejb.StatelessSessionEJBObject.OC4J_invokeMethod(MethodState, Object[], ThreadState) time to execute= 1.171
-------------com.nte.anthema.security.persistence.UserPersistorBean.searchAll(Query) time to execute= 1.171
----com.evermind.server.ejb.EJBUtils.cloneObject(Object, AbstractEJBHome) time to execute= 8.750 (related with UserManagerBean)
Any idea why EJBUtils.cloneObject is executed every time these EJB are called ? I have other EJB's and EJBUtils.cloneObject(...) is not executed when that EJB's aree called.
Any help ?
Thanks !
pep.It's loading the code insight. Since you have such a large number of objects you may want to turn this off.
sqldeveloper -J-Dsdev.insight=false
-kris -
Add cookie to HTTP request header when calling web service
I'm trying to call web service using JDeveloper 11g. I successfully generated web service proxy from WSDL document. I can successfully call this particular web service's method "login" which returns "session_id", which then needs to be inserted as a cookie in the HTTP request header in later calls to other methods. This is how the HTTP request header should look like:
POST /webservice HTTP/1.1
Host: registrar.carnet.hr
Connection: Keep-Alive
User-Agent: .hr domene
Content-Type: text/xml; charset=utf-8
SOAPAction: "https://registrar.carnet.hr/webservice#get_domain_name"
Content-Length: 532
Cookie: session_id=f3po0ba01a47gd64792151ee43a25765;
How can this be accomplished? There is not much code that I wrote, everything is generated by JDeveloper's wizard...
public static void main(String[] args) {
try {
RegistrarServicePortPortClient client =
new RegistrarServicePortPortClient();
client.setPortCredentialProviderList();
// add your code here
String login;
login = client.login("username", "password");
System.out.println(login);
String myCookie = "session_id="+login;
System.out.println(myCookie);
*// what can be done to add myCookie to the HTTP request header?*
} catch (Exception ex) {
ex.printStackTrace();
Thanks in advance,
BrunoHi Vishal,
it's not a requirement but I wasn't able to create JAX-WS Style proxy from this WSDL: https://registrar.carnet.hr/wsdl
The exception I'm getting is:
oracle.jdeveloper.webservices.model.WebServiceException: Error creating model from wsdl "https://registrar.carnet.hr/wsdl": Could not bind "{http://schemas.xmlsoap.org/soap/encoding/}Array" in message part "return" to a Java type. If doc/lit style is used then message part should reference to global schema element.
at oracle.jdeveloper.webservices.model.java.JavaWebService.createPortTypes(JavaWebService.java:1635)
at oracle.jdeveloper.webservices.model.WebService.createServiceFromWSDL(WebService.java:2846)
at oracle.jdeveloper.webservices.model.WebService.createServiceFromWSDL(WebService.java:2611)
at oracle.jdeveloper.webservices.model.java.JavaWebService.<init>(JavaWebService.java:509)
at oracle.jdeveloper.webservices.model.java.JavaWebService.<init>(JavaWebService.java:461)
at oracle.jdeveloper.webservices.model.proxy.WebServiceProxy$ProxyJavaWebService.<init>(WebServiceProxy.java:2268)
at oracle.jdeveloper.webservices.model.proxy.WebServiceProxy.updateServiceModel(WebServiceProxy.java:1701)
at oracle.jdeveloper.webservices.model.proxy.WebServiceProxy.setDescription(WebServiceProxy.java:525)
at oracle.jdevimpl.webservices.wizard.jaxrpc.proxy.ProxyJaxWsSpecifyWSDLPanel.setDescription(ProxyJaxWsSpecifyWSDLPanel.java:238)
at oracle.jdevimpl.webservices.wizard.jaxrpc.common.SpecifyWsdlPanel.buildModel(SpecifyWsdlPanel.java:1109)
at oracle.jdevimpl.webservices.wizard.jaxrpc.common.SpecifyWsdlPanel$5.run(SpecifyWsdlPanel.java:661)
at oracle.ide.dialogs.ProgressBar.run(ProgressBar.java:655)
at java.lang.Thread.run(Thread.java:619)
Caused by: oracle.jdeveloper.webservices.tools.WsdlValidationException: Error creating model from wsdl "https://registrar.carnet.hr/wsdl": Could not bind "{http://schemas.xmlsoap.org/soap/encoding/}Array" in message part "return" to a Java type. If doc/lit style is used then message part should reference to global schema element.
at oracle.jdevimpl.webservices.tools.wsa.WsaAdaptor.newWsdlValidationException(WsaAdaptor.java:825)
at oracle.jdevimpl.webservices.tools.wsa.WsaAdaptor.getSeiInfo(WsaAdaptor.java:515)
at oracle.jdeveloper.webservices.tools.WebServiceTools.getSeiInfo(WebServiceTools.java:523)
at oracle.jdeveloper.webservices.model.java.JavaWebService.getSeiInfo(JavaWebService.java:1741)
at oracle.jdeveloper.webservices.model.java.JavaWebService.createPortTypes(JavaWebService.java:1496)
... 12 more
Caused by: oracle.j2ee.ws.common.tools.api.ValidationException: Error creating model from wsdl "https://registrar.carnet.hr/wsdl": Could not bind "{http://schemas.xmlsoap.org/soap/encoding/}Array" in message part "return" to a Java type. If doc/lit style is used then message part should reference to global schema element.
at oracle.j2ee.ws.tools.wsa.jaxws.JaxwsWsdlToJavaTool.getJAXWSModel(JaxwsWsdlToJavaTool.java:664)
at oracle.j2ee.ws.tools.wsa.WsdlToJavaTool.createJAXWSModel(WsdlToJavaTool.java:475)
at oracle.j2ee.ws.tools.wsa.Util.getJaxWsSeiInfo(Util.java:1357)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at oracle.jdevimpl.webservices.tools.wsa.Assembler$2$1.invoke(Assembler.java:218)
at $Proxy39.getJaxWsSeiInfo(Unknown Source)
at oracle.jdevimpl.webservices.tools.wsa.WsaAdaptor.getSeiInfo(WsaAdaptor.java:505)
... 15 more
Caused by: oracle.j2ee.ws.tools.jaxws.wsdl.ModelBuilderException: Could not bind "{http://schemas.xmlsoap.org/soap/encoding/}Array" in message part "return" to a Java type. If doc/lit style is used then message part should reference to global schema element.
at oracle.j2ee.ws.tools.jaxws.wsdl.OperationMappingBuilder.getPartJavaType(OperationMappingBuilder.java:702)
at oracle.j2ee.ws.tools.jaxws.wsdl.OperationMappingBuilder.createParameterMapping(OperationMappingBuilder.java:675)
at oracle.j2ee.ws.tools.jaxws.wsdl.OperationMappingBuilder.createParameterMapping(OperationMappingBuilder.java:663)
at oracle.j2ee.ws.tools.jaxws.wsdl.OperationMappingBuilder.buildBarePortTypeParameters(OperationMappingBuilder.java:490)
at oracle.j2ee.ws.tools.jaxws.wsdl.OperationMappingBuilder.buildBarePortTypeOperation(OperationMappingBuilder.java:301)
at oracle.j2ee.ws.tools.jaxws.wsdl.OperationMappingBuilder.buildPortTypeOperation(OperationMappingBuilder.java:216)
at oracle.j2ee.ws.tools.jaxws.wsdl.OperationMappingBuilder.build(OperationMappingBuilder.java:93)
at oracle.j2ee.ws.tools.jaxws.wsdl.WSDLToJavaModelBuilder.buildPortTypeOperations(WSDLToJavaModelBuilder.java:635)
at oracle.j2ee.ws.tools.jaxws.wsdl.WSDLToJavaModelBuilder.buildSEI(WSDLToJavaModelBuilder.java:435)
at oracle.j2ee.ws.tools.jaxws.wsdl.WSDLToJavaModelBuilder.buildSEI(WSDLToJavaModelBuilder.java:402)
at oracle.j2ee.ws.tools.jaxws.wsdl.WSDLToJavaModelBuilder.buildPorts(WSDLToJavaModelBuilder.java:383)
at oracle.j2ee.ws.tools.jaxws.wsdl.WSDLToJavaModelBuilder.buildService(WSDLToJavaModelBuilder.java:322)
at oracle.j2ee.ws.tools.jaxws.wsdl.WSDLToJavaModelBuilder.buildServices(WSDLToJavaModelBuilder.java:299)
at oracle.j2ee.ws.tools.jaxws.wsdl.WSDLToJavaModelBuilder.buildAll(WSDLToJavaModelBuilder.java:271)
at oracle.j2ee.ws.tools.jaxws.wsdl.WSDLToJavaModelBuilder.build(WSDLToJavaModelBuilder.java:188)
at oracle.j2ee.ws.tools.wsa.jaxws.JaxwsWsdlToJavaTool.getJAXWSModel(JaxwsWsdlToJavaTool.java:656)
... 24 more
Caused by: oracle.j2ee.ws.common.databinding.tools.spi.SchemaFindException
at oracle.j2ee.ws.common.tools.databinding.jaxb20.Jaxb20JavaDatabindingContext.getJavaTypeForSchemaType(Jaxb20JavaDatabindingContext.java:52)
at oracle.j2ee.ws.tools.jaxws.wsdl.OperationMappingBuilder.getPartJavaType(OperationMappingBuilder.java:696)
... 39 more
Thanks,
Bruno -
TimeoutException - when calling web services method that opens a PDF
I am updating a legacy program which uses Adobe Acrobat 7.0 Professional. The idea is that the client will call web service methods, which handle opening a PDF, reading from or writing to the PDF, saving if necessary, and closing. It then returns the data (if reading) to the client.
The only issue with this that I'm having is that the client will pause for about 60 seconds, and throw a TimeoutException.
I know that the method on the web services end is working, because I wrote a quick driver which calls the very same method, but it executes normally, and works perfectly.
My question is basically, is there anything that would cause the client to hang/freeze when calling the web services method to do this task? Everything is running on my workstation, and I've debugged to see that the filename being passed is the same in both tests.
Thanks!Thank you, I somehow missed seeing that subforum. I reposted it in that forum instead. This thread can be deleted/closed. Thanks!
-
Communication error when calling web service for checkin and checkout files
Hello,
I am trying to checkout and also to checkin files within the DMS via web service. The files are stored in the VAULT (=TRESOR) without the data server parth and DVA computer.
For checkout:
Original zum Ändern auschecken
CALL FUNCTION 'BAPI_DOCUMENT_CHECKOUTMODIFY2'
EXPORTING
documenttype = pi_documenttype
documentnumber = pi_documentnumber
documentpart = pi_documentpart
documentversion = pi_documentversion
documentfile = lf_documentfiles
pf_http_dest = ''
pf_ftp_dest = ''
statusextern = lf_status
IMPORTING
return = lf_return
checkedoutfile = ls_checkedoutfile.
and for checkin:
Dokument einchecken
CALL FUNCTION 'BAPI_DOCUMENT_CHECKIN2'
EXPORTING
documenttype = pi_documenttype
documentnumber = pi_documentnumber
documentpart = pi_documentpart
documentversion = pi_documentversion
hostname = ''
statusintern = ''
statusextern = lf_status
statuslog = ''
IMPORTING
return = lf_return
TABLES
documentfiles = lt_files.
But it is not working cause I always get a 'communication error' from the function CV120_FTP_START_REG_SERVER when calling one of these BAPIs via web service:
IF pf_check_gui = 'X'.
CLEAR: gf_gui_exist,
gf_gui_checked.
CALL FUNCTION 'RFC_PING'
DESTINATION 'SAPGUI'
EXCEPTIONS: communication_failure = 1 MESSAGE lf_msg_text
system_failure = 2 MESSAGE lf_msg_text.
IF sy-subrc = 0.
gf_gui_exist = 'X'.
ELSE.
CLEAR gf_gui_exist.
ENDIF.
gf_gui_checked = 'X'.
ENDIF.
Afterwards the following function is called where I got the error 'Program no longer started via RFC. No return possible.':
-> Vault with DVA -> ** Start FTP on the client
CALL FUNCTION 'SYSTEM_START_REG_SERVER'
EXPORTING: progname = 'sapftp'
startmode = '' " X
exclusiv = 'Y'
waittime = 500
startcomp = 'C' " G=gui, C=RFC
startpara = ' '
IMPORTING: err_code = lf_errno
err_mess = lf_error_msg
destination = pfx_destination.
Regards
JensHi! As mentioned below I had the same problem.
There are two notes concerning security setting of the SAP Gateway:
1069911 - GW: Changes to the ACL list of the gateway (reginfo)
1480644 - gw/acl_mode versus gw/reg_no_conn_info
Your basis team should check if the Gateway settings allow external programs to register on the gateway.
Best regards
Dominik -
Axis error when calling deployed service on weblogic
Hi,
I am trying to deploy the simple HelloWorld service using an .ear file on the weblogic8.1 server. But when I am trying to call the service, its giving me the error:
**Fault - ; nested exception is:**
** org.apache.axis.ConfigurationException: Could not find class for the service named: com.tutorial.Hello**
**Hint: you may need to copy your class files/tree into the right location (which depends on the servlet system you are using).; nested exception is:**
** java.lang.ClassNotFoundException: Class bytes found but defineClass()failed for: 'com.tutorial.Hello'**
**AxisFault**
**faultCode: {http://schemas.xmlsoap.org/soap/envelope/}Server.generalException**
**faultSubcode:**
**faultString: Could not find class for the service named: com.tutorial.Hello**
**Hint: you may need to copy your class files/tree into the right location (which depends on the servlet system you are using).; nested exception is:**
** java.lang.ClassNotFoundException: Class bytes found but defineClass()failed for: 'com.tutorial.Hello'**
From what I read, the problem seems to be associated with the deploy.wsdd file. Hence I am giving the description of that file below:**
**<?xml version="1.0" encoding="UTF-8"?><!-- Use this file to deploy some handlers/chains and services --><!-- Two ways to do this: --><!-- java org.apache.axis.client.AdminClient deploy.wsdd --><!-- after the axis server is running --><!-- or --><!-- java org.apache.axis.utils.Admin client|server deploy.wsdd --><!-- from the same directory that the Axis engine runs --><deployment xmlns="http://xml.apache.org/axis/wsdd/" xmlns:java="http://xml.apache.org/axis/wsdd/providers/java">**
**<!-- Services from HelloService WSDL service -->**
**<service name="Hello" provider="java:RPC" style="rpc" use="encoded">**
**<parameter name="wsdlTargetNamespace" value="http://tutorial.com"/>**
**<parameter name="wsdlServiceElement" value="HelloService"/>**
**<parameter name="wsdlServicePort" value="Hello"/>**
**<parameter name="className" value="com.tutorial.Hello"/>**
**<parameter name="wsdlPortType" value="Hello"/>**
**<parameter name="typeMappingVersion" value="1.2"/>**
**<operation xmlns:operNS="http://tutorial.com" xmlns:rtns="http://www.w3.org/2001/XMLSchema" name="sayHello" qname="operNS:sayHello" returnQName="sayHelloReturn" returnType="rtns:string" soapAction="">**
**<parameter xmlns:tns="http://www.w3.org/2001/XMLSchema" qname="name" type="tns:string"/>**
**</operation>**
**<parameter name="allowedMethods" value="sayHello"/>**
**</service>**
**</deployment>**
Please let me know where do I need to make the changes or give some hint towards this error.
-SourikHi Alex,
This link would give u the reason of the error
http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html
Also have a look at this note
SAP Note 857596 - Message server: Status code for redirect requests
Regards,
Prateek
Message was edited by:
Prateek Srivastava -
Error when calling ejb.create() call
Hi Folks,
I am trying to create a simple CMP bean with J2EE1.4 but when I call ejb.create I get the following exception :-
Exception in thread "main" java.rmi.ServerException: RemoteException occurred in
server thread; nested exception is:
java.rmi.RemoteException
at com.sun.corba.se.internal.iiop.ShutdownUtilDelegate.mapSystemExceptio
n(Unknown Source)
at javax.rmi.CORBA.Util.mapSystemException(Unknown Source)
at com.titan.customer._CustomerHomeRemote_Stub.create(Unknown Source)
at Client.main(Client.java:20)
Caused by: java.rmi.RemoteException
at com.sun.enterprise.iiop.POAProtocolMgr.mapException(POAProtocolMgr.ja
va:195)
at com.sun.ejb.containers.BaseContainer.postInvoke(BaseContainer.java:73
9)
at com.titan.customer.CustomerBean_986018080_ConcreteImpl_RemoteHomeImpl
.create(CustomerBean_986018080_ConcreteImpl_RemoteHomeImpl.java:38)
at com.titan.customer._CustomerBean_986018080_ConcreteImpl_RemoteHomeImp
l_Tie._invoke(Unknown Source)
at com.sun.corba.ee.impl.protocol.CorbaServerRequestDispatcherImpl.dispa
tchToServant(CorbaServerRequestDispatcherImpl.java:648)
at com.sun.corba.ee.impl.protocol.CorbaServerRequestDispatcherImpl.dispa
tch(CorbaServerRequestDispatcherImpl.java:191)
at com.sun.corba.ee.impl.protocol.CorbaMessageMediatorImpl.handleRequest
Request(CorbaMessageMediatorImpl.java:1655)
at com.sun.corba.ee.impl.protocol.CorbaMessageMediatorImpl.handleRequest
(CorbaMessageMediatorImpl.java:1514)
at com.sun.corba.ee.impl.protocol.CorbaMessageMediatorImpl.handleInput(C
orbaMessageMediatorImpl.java:896)
at com.sun.corba.ee.impl.protocol.giopmsgheaders.RequestMessage_1_2.call
back(RequestMessage_1_2.java:172)
at com.sun.corba.ee.impl.protocol.CorbaMessageMediatorImpl.handleRequest
(CorbaMessageMediatorImpl.java:668)
at com.sun.corba.ee.impl.transport.SocketOrChannelConnectionImpl.dispatc
h(SocketOrChannelConnectionImpl.java:352)
at com.sun.corba.ee.impl.transport.SocketOrChannelConnectionImpl.read(So
cketOrChannelConnectionImpl.java:261)
at com.sun.corba.ee.impl.transport.ReaderThreadImpl.doWork(ReaderThreadI
mpl.java:73)
at com.sun.corba.ee.impl.orbutil.threadpool.ThreadPoolImpl$WorkerThread.
run(ThreadPoolImpl.java:382)
Bean code :-
package com.titan.customer;
import javax.ejb.EntityContext;
public abstract class CustomerBean implements javax.ejb.EntityBean {
public Integer ejbCreate(Integer id) {
setId(id);
return id;
public void ejbPostCreate() {
//abstract methods
public abstract Integer getId();
public abstract void setId(Integer Id);
public abstract String getLastName();
public abstract void setLastName(String lastName );
public abstract String getFirstName();
public abstract void setFirstName(String firstName);
public void setEntityContext(EntityContext ec) {}
public void unsetEntityContext() {}
public void ejbLoad() {}
public void ejbStore() {}
public void ejbActivate() {}
public void ejbPassivate() {}
public void ejbRemove() {}
ejb-jar.xml
<?xml version="1.0" encoding="UTF-8"?>
<ejb-jar version="2.1" xmlns="http://java.sun.com/xml/ns/j2ee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/ejb-jar_2_1.xsd">
<display-name>CustomerBean</display-name>
<enterprise-beans>
<entity>
<ejb-name>CustomerBean</ejb-name>
<home>com.titan.customer.CustomerHomeRemote</home>
<remote>com.titan.customer.CustomerRemote</remote>
<ejb-class>com.titan.customer.CustomerBean</ejb-class>
<persistence-type>Container</persistence-type>
<prim-key-class>java.lang.Integer</prim-key-class>
<reentrant>false</reentrant>
<cmp-version>2.x</cmp-version>
<abstract-schema-name>CustomerBean</abstract-schema-name>
<cmp-field>
<description>no description</description>
<field-name>firstName</field-name>
</cmp-field>
<cmp-field>
<description>no description</description>
<field-name>id</field-name>
</cmp-field>
<cmp-field>
<description>no description</description>
<field-name>lastName</field-name>
</cmp-field>
<primkey-field>id</primkey-field>
<security-identity>
<use-caller-identity/>
</security-identity>
</entity>
</enterprise-beans>
</ejb-jar>
sun cmp mapping
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE sun-cmp-mappings PUBLIC "-//Sun Microsystems, Inc.//DTD Sun ONE Application Server 7.0 OR Mapping //EN" "http://www.sun.com/software/sunone/appserver/dtds/sun-cmp-mapping.dtd">
<sun-cmp-mappings>
<sun-cmp-mapping>
<schema>CustomerBean_jar</schema>
<entity-mapping>
<ejb-name>CustomerBean</ejb-name>
<table-name>CUSTOMERBEAN</table-name>
<cmp-field-mapping>
<field-name>firstName</field-name>
<column-name>CUSTOMERBEAN.FIRSTNAME</column-name>
</cmp-field-mapping>
<cmp-field-mapping>
<field-name>id</field-name>
<column-name>CUSTOMERBEAN.ID</column-name>
</cmp-field-mapping>
<cmp-field-mapping>
<field-name>lastName</field-name>
<column-name>CUSTOMERBEAN.LASTNAME</column-name>
</cmp-field-mapping>
</entity-mapping>
</sun-cmp-mapping>
</sun-cmp-mappings>
sun-ejb-jar.xml
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE sun-ejb-jar PUBLIC "-//Sun Microsystems, Inc.//DTD Sun ONE Application Server 8.0 EJB 2.1//EN" "http://www.sun.com/software/sunone/appserver/dtds/sun-ejb-jar_2_1-0.dtd">
<sun-ejb-jar>
<enterprise-beans>
<name>CustomerBean</name>
<unique-id>579688304</unique-id>
<ejb>
<ejb-name>CustomerBean</ejb-name>
<jndi-name>CustomerBean</jndi-name>
</ejb>
<pm-descriptors/>
<cmp-resource>
<jndi-name>jdbc/Vineeth</jndi-name>
<create-tables-at-deploy>true</create-tables-at-deploy>
<drop-tables-at-undeploy>true</drop-tables-at-undeploy>
<schema-generator-properties>
<property>
<name>use-unique-table-names</name>
<value>true</value>
</property>
<property>
<name>java-to-database</name>
<value>true</value>
</property>
</schema-generator-properties>
</cmp-resource>
</enterprise-beans>
</sun-ejb-jar>
Can someone please help me out with this...this is a bit urgent..
ThanksIt seems that u need a ejbPostCreate with the same parameters as ejbCreate:
public Integer ejbCreate(Integer id) {
setId(id);
return id;
public void ejbPostCreate(Integer id) {
} -
ICM_HTTP_SSL_ERROR when calling web service
Summary: ICM_HTTP_SSL_ERROR was met when I called web service in ABAP with logical port & RFC Connection of type G.
Details:
1. the <b>test of RFC Connection of type G in SM59 works OK</b>, with SSL inactive and basic authentication.
2. while <b>in ABAP code, the calling to web service throws ICM_HTTP_SSL_ERROR</b>, using the logical port with the RFC Connection as HTTp Destination.
3. also, with using URL directly in logical port settings, the calling to web service in ABAP throws ICM_HTTP_SSL_ERROR.
I searched threads and blog for ICM_HTTP_SSL_ERROR, it seems others met ICM_HTTP_SSL_ERROR in SM59; while my case is the test in SM59 works well.
Anybody can help?
Thanks and kind regards.
SaidDear Sayid,
The document which you had mentioned here is really helpful.
I'am working on Digital Signature for Form16 in SAP.I stucked up with the same issue.
I went through the document of
Enabling SSL and Client Certificates on the SAP J2EE Engine by Angel Dichev
in that document i went through one note
Note: Per default, the SAP J2EE Engine uses the u201Cssl-credentialsu201D entry for SSL, which contains a
public-key certificate that has been signed by a test CA. Although this certificate can be used for
testing purposes, a certificate that has been signed by a well-known, productive CA should be used
when in production mode.
right now i'am doing it for testing purpose, in the above note it is mentioned that we can use default credentials but when i see the expiry date of this default credentials in my server 1) SSL-Credentials 2)SSL-Credentials-cert it is given that these certificates are Valid Not After 2005 year.
So i got confused now whether to use the default credentials or not.
Please guide me with a solution.
With Regards,
Pradeep.B -
How to transfer username when calling web service from PI?
Hi
I have a scenario where a front end application is calling a web service exposed by PI 7.11 and PI is forwarding the call to the backend web service. That is, a SOAP sender adapter and a soap receiver adapter.
Now, I would like to transfer the username, which the PI exposed web service is called with, to the backend web service.
I previously did this by using a UDF where I picked up the username like this and mapped the username to a field in the request message when calling the backend web service:
DynamicConfiguration conf = (DynamicConfiguration) container.getTransformationParameters().get(StreamTransformationConstants.DYNAMIC_CONFIGURATION);
DynamicConfigurationKey key = DynamicConfigurationKey.create("http://sap.com/xi/XI/System/SOAP", "SRemoteUser");
String WSuser = conf.get(key);
return WSuser;
However, I would like to avoid this method and in stead e.g. use either a query string like http://xxxxx:6571/ISBWS/soap/ISBCore?username=mikael or maybe transfer the username in the http header in some way.
So my question is: what are my options and how do I set it up?
BR MIkaelApparenty sending user name details in query string is not best practice in webservice. Thats why WSDL does not cover user credentials inside. Webservice deals with message level security , transport level security, encryption , certificate authentication , username token etc
If you want to use http query string in the soap receiver target url try as below and see how that helps... somthing as below..
example: http://host:port/jsppage?userid=test or use xslt mapping or java mapping create soap header as you want and specify username over there.
Maybe you are looking for
-
Brand new iPod touch won't sync:
My girlfriend got a 8GB iPod touch for Christmas. I just plugged it into her Vaio (Windows 7) laptop to sync her iTunes (which is the latest version). The first time it froze some 4 songs into the sync. The whole computer was frozen & I had to force
-
Enter key instead of clicking on the button
Build JDEVADF_11.1.1.4.0_GENERIC_101227.1736.5923 Hi, I have input text and a submit button. After I made my entry in the input text I want to press the Enter key and the action is executed. How can i do it?? best regards
-
I'm trying to use the DBMS_XMLSave package and the stored procedure won't compile saying it doesn't know what DBMS_XMLSave.ctxType is. Does the express edition not support this package?
-
RFCLIB access from Perl / Java - newbie question
Hi folks, I am newbie with SAP. I am triying to access the SAP from my web application, wrote in PErl or JAva. I am trying to access the librfc, bit I would like to know: 1) What software I need to install in my client side (the web server that host
-
I have a few issues with the wireless SIP handsets that we've deployed. Hopefully someone will be able to point me in the right direction. Thanks! 1. Handset goes to a busy signal when sending the phone number to dial. If you try dialing the same