Serialization error when calling web service method
Hi,
In JDeveloper 10.1.3.1, I'm working on an EJB that will be deployed as a web service. There is a method in the EJB that is defined to return a generic Object, but in the implementation, it really returns one of several possible specialized bean objects. I can deploy the EJB successfully to IAS 10.1.3.1.
I created a web service proxy from the wsdl that was generated from deploying the EJB. Using the proxy, I try to call the EJB method and cast the method's return value to the bean object I know should be returned. However, I get an error like this:
java.rmi.ServerException:
start fault message:
Internal Server Error (serialization error: no serializer is registered for (class com.test.TestBean, null))
:end fault message
Does anyone know how this serialization error can be resolved? If I change the web service method signature to return the bean object that is actually being returned (instead of Object), then it works fine. But I want to be able to define the method to return a generic Object because I plan to make the method flexible enough to return several different types of bean objects. Whenever the client calls the method, it will know what is the actual object being returned and I had planned to cast the return value to its actual class.
Thanks for any ideas.
Well, I think so... I've followed all the steps, and my merged WSDL file seems like the one in page 12...
Any suggestion, please?
Thank you,
Similar Messages
-
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.
-
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!
-
Error when calling Web Service from Adobe Form
Hi all,
I need to invoke a Web Service from my Adobe Interactive Form. I have merged the WSDL files, following the steps in this document:
https://www.sdn.sap.com/irj/sdn/go/portal/prtroot/docs/library/uuid/148ec26e-0c01-0010-e488-decaafae3b26
But when I press the corresponding button in order to call the web service, I get the following error:
"Error trying to read file.
http://<my_host>:51000/<my_WS>/Config1?style=document"
It seems to be an error in my configuration, because I'm sure that I have followed all steps in the previous PDF.
Any idea?
Thanks.Well, I think so... I've followed all the steps, and my merged WSDL file seems like the one in page 12...
Any suggestion, please?
Thank you, -
Error When Calling Web Service
I have Oracle9i JDeveloper Release 2 (Version 9.0.2.829) installed along with embedded OC4J server. I followed tutorial of "Creating and Using Web Service" and failed when I tried to run DateTimeClient that calls the web service. The error message (see below) is very similar to the ones that some people have encountered in creating SOAP connection I have seen quite a few questions/answers from the Forums. I need to mention that I did test the OC4J server and SOAP server before I ran the DateTimeClient using
(1) http://127.0.0.1:8888/
(2) http://127.0.0.1:8888/soap/servlet/soaprouter
and they all get expected information back.
The error message is as follows:
[SOAPException: faultCode=SOAP-ENV:Protocol; msg=Unsupported response content type "text/html", must be: "text/xml". Response was:
<DIV class=Section1>
<P class=MsoNormal
style="mso-list: none; mso-list-ins: '' 19991102T2025">&nbsp;
if this problem persists, and provide the team your
account information.</P>
</TD>
</T
java.lang.String org.apache.soap.rpc.Call.getEnvelopeString(org.apache.soap.transport.SOAPTransport)
org.apache.soap.rpc.Response org.apache.soap.rpc.Call.invoke(java.net.URL, java.lang.String)
java.lang.String datetimeclientpackage.DateTimeClientStub.getDate()
void datetimeclientpackage.DateTimeClient.main(java.lang.String[])
Exception in thread main
Process exited with exit code 1.
Your solution/feedback regarding this problem is very much appreciated.
Hao XuAfter I read the notes written by Michael Lehmann (Title: How can I setup a soap server for use in JDeveloper 9i), I realized I need to turn off the proxy from JDeveloper. After that everything works.
Thank you, Michael!
- Hao -
SSL handshake error when calling Web Service
Hi Grant,
I am using your example here:
http://groundside.com/blog/GrantRonald.php?title=calling_a_web_service_from_oracle_forms__2&more=1&c=1&tb=1&pb=1
to call a web service from forms 10g on a machine with no proxies set up.
I get to the point where I click the button that calls this code:
DECLARE
jo ora_java.jobject;
xo ora_java.jobject;
rv varchar2(100);
--rv number;
ex ora_java.jobject;
BEGIN
jo := SendServiceSoapClient.new;
rv := SendServiceSoapClient.sendMessage(jo,'07000000000', 'Test text message from Forms', xo, xo);
-- rv := SendServiceSoapClient.sendMessage(jo,:block6.number_to_text, :block6.text_msg, xo, xo);
EXCEPTION
WHEN ORA_JAVA.JAVA_ERROR then
message('Unable to call out to Java, ' ||ORA_JAVA.LAST_ERROR);
WHEN ORA_JAVA.EXCEPTION_THROWN then
ex := ORA_JAVA.LAST_EXCEPTION;
-- message(Exception_.toString(ex));
-- message(Exception_.toString(ex));
:block6.item11 := Exception_.toString(ex);
END;
I then get the message:
java.rmi.RemoteException: ; nested exception is:
HTTP transport error: javax.xml.soap.SOAPException: java.security.PrivilegedActionException: javax.xml.soap.SOAPException: Message send failed: javax.net.ssl.SSLException: SSL handshake failed: X509CertChainIncompleteErr
My Jinitiator box says:
Loading http://xpjdev11g.uk.conde-nast.biz:8889/forms/java/frmall_jinit.jar from JAR cache
Loading http://xpjdev11g.uk.conde-nast.biz:8889/forms/java/wsarchive3.jar from JAR cache
proxyHost=null
proxyPort=0
connectMode=HTTP, native.
Forms Applet version is : 10.1.2.0
Please note additional steps:
I have tried to sign my JAR file (called wsarchive3.jar) - not sure if I have it done it correctly??
I have added the JAR file in the system CLASSPATH
I have added the JAR file to formsweb.cfg
If you could help with the SSL error, I'd greatly appreciate it. Thanks.Let me check - have you got the "HOW TO" I created working when you use the following WSDL
http://www.esendex.com/secure/messenger/soap/SendService.asmx?wsdl
Does this work ok from Forms?
The reason I ask is there is an HTTP web service (which is what the how to documents) but there is also and HTTPS versions - if you are getting errors about SSL it might be you are using the HTTPS version
I just want to make sure I understand what you have and have not working so far.
Grant -
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 -
Coonection reset error when calling web services
Hi,
I am newbie to web services.
I am calling the web service in my application.
I had imported the certificates into my runtime JVM using keytool and having the host entry also.
While hitting our application (where I am calling the external web service), the following connection reset error is logged in the console,
WebServicesFault
faultCode: Server.generalException
faultString: java.net.SocketException: Connection reset
faultActor: null
faultDetail:
java.net.SocketException: Connection reset
at com.ibm.ws.webservices.engine.WebServicesFault.makeFault(WebServicesFault.java:156)
at com.ibm.ws.webservices.engine.transport.http.HTTP11Sender.invoke(HTTP11Sender.java:294)
Can anybody help me to trace this problem? what could be the cause for this? Did it require any other configuration such as in java.security , java.policy?
Help me.
Thanks in advance.
Alice.If you attempt to retry the stalled component through adminui, it will work. Am i correct?
If so, you can test the following approach.
1. drag a blank component (e.g a decision point)
2. connect a line between the exception of the Web Service Invoke operation to the decision point.
3. Choose java.io.IOException from the eeception drop down.
4. again connect the decision point back to the web service invoke component. (i mean a looping)
This approach was working fine with me.
Please see the attached image shows my routing.
PS: After a couple of days, I tested without looping and it seems to be working. So I removed the loop now.
Thanks,
Nith -
Error when calling Web Service in SAP Netweaver side.
An error occurred while trying to make a request to URI 'http://us4184.wdf.sap.corp:1080/sap/bc/srt/wsdl/sdef_WS_SSC_USR_GET_USER_LIST/wsdl11/ws_policy/document?sap-client=000'. This could be due to attempting to access a service in a cross-domain way without a proper cross-domain policy in place, or a policy that is unsuitable for SOAP services. You may need to contact the owner of the service to publish a cross-domain policy file and to ensure it allows SOAP-related HTTP headers to be sent. This error may also be caused by using internal types in the web service proxy without using the InternalsVisibleToAttribute attribute. Please see the inner exception for more details.
Does anybody know where can I put the cross-domain policy in Netweaver platform?
Best regards,
AndersHi Anders,
The resolution of the crossdomain problem is not to store an cross-domain-policy file at the [SAP] webservice side; but instead it needs to be done at the (every...) webservice client. In case the client is an IIS based webapplication (and thus the ultimate end-users are accessing it via their browser), this is not such an issue. It there is sufficient to put an crossdomain.xml policy file in the IIS main virtual root of your 'client' .net webapplication (c:\inetpub\wwwroot). It also can be required or at least helpful to put a clientaccesspolicy.xml file; both at the main virtual root and in the virtual root of the specific webapplication
In case of SharePoint application, the crossdomain.xml file must be stored in the WSS virtual root of that site; c:\inetpub\wwwroot\wss\virtualdirectories\<your SharePoint webapp>
Best regards, William. -
Errors when processing web service call
Hello Experts,
Based on a requirement, I got a URL based on WSDL, using which I created a Consumer Proxy in SAP.
I created a Logical Port in SOA Manager with type selected as 'WSDL'.
When I'm trying to execute the proxy class to call the webservice using the logical port through SE80 it is throwing an error log as stated below.
1) SOAP:14 Unexpected element -el=definitions ns=http://schemas.xmlsoap.org/wsdl/
2)Error when processing Web service call
3)Error when calling SOAP Runtime functions: Unexpected element -el=definitions ns=http://schemas.xmlsoap.org/wsdl/
Kindly help me out.
Thanks,
VamshiHi,
Check Anton's reply in this thread: External WS Consumption Issue
Also refer the below doc which may help you: Consume an External Web Service in a Nutshell with Good Old ABAP
Calling WebServices from ABAP via HTTPS
Regards,
Kiran -
JAX-WS client error when calling web method
My JAX-WS client is getting the following error when calling a web method:
Exception in thread "main" javax.xml.ws.WebServiceException:
No Content-type in the header!
I'm using Eclipse as my development environment. I use the CXF facet to generate a WSDL from Java code. I then use the New -> Web Service Client to generate client side code from the WSDL.
The following fully describes my environment:
Windows XP
JDK 1.6.0_22
Java EE 6
Eclipse Helios
Apache CXF 2.3.0 (runtime)
Tomcat 6.0
I have found several post on the net that describe this problem and a solution for JBoss, but I have been unable to find anything that addresses this error on Tomcat.
I can provide source code if needed. The app is a simple Hello World web service. I'm using it to try and get familiar with developing web services with all the components listed above.
ThanksHi Anders,
The resolution of the crossdomain problem is not to store an cross-domain-policy file at the [SAP] webservice side; but instead it needs to be done at the (every...) webservice client. In case the client is an IIS based webapplication (and thus the ultimate end-users are accessing it via their browser), this is not such an issue. It there is sufficient to put an crossdomain.xml policy file in the IIS main virtual root of your 'client' .net webapplication (c:\inetpub\wwwroot). It also can be required or at least helpful to put a clientaccesspolicy.xml file; both at the main virtual root and in the virtual root of the specific webapplication
In case of SharePoint application, the crossdomain.xml file must be stored in the WSS virtual root of that site; c:\inetpub\wwwroot\wss\virtualdirectories\<your SharePoint webapp>
Best regards, William. -
Getting Error when executing Web Service Model method in WD Application
hi ,
I have written WD Application which has Web Service Model(Deprecated). I did the context mapping between WS Model-->Comp Controller --> iView Controller. When i try to execute a method in Web Service method in Component Controller after binding. its shows the following error at the line of coding execute().
"java.lang.NoSuchMethodError: com.sap.engine.services.webservices.jaxrpc.wsdl2java.BaseGeneratedStub._initParameter(Lcom/sap/engine/services/webservices/jaxrpc/wsdl2java/ServiceParam;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/Class;)V
Any help appreciated. Thanks.
Thanks,
SaravananHi,
First, can you check whether you able to access your web service url in browser?
or
you can test your webservice from the NWDI Web service perspective, here you can test your web service is correctly functioning or not before using in your Web Dynpro application.
This document clearly explains How to test the web service url and what is the correct procedure to consume the web service in SAP portal.
[https://www.sdn.sap.com/irj/sdn/go/portal/prtroot/docs/library/uuid/b07992b3-b5af-2a10-9886-affcbeccc4c9]
[http://help.sap.com/saphelp_nw70/helpdata/en/f4/1a1041a0f6f16fe10000000a1550b0/content.htm]
Regards
Raghu -
Error when processing web service call
Hello Experts,
Based on a requirement, I got a URL based on WSDL, using which I created a Consumer Proxy in SAP.
I created a Logical Port in SOA Manager with type selected as 'WSDL', and didnot gave any authentication id or password in it.
When I'm trying to execute the proxy class to call the webservice using the logical port, it is asking me a prompt for Userid and Password, and when I press enter, it is throwing an error log as stated below.
SOAP:1,007 SRT: Unsupported xstream found: ("HTTP Code 401 : Unauthorized")
(Error when calling SOAP Runtime functions).
I think I configured the Logical port incorrectly. Is there any specific setting that I missed, I dont know.
Kindly help me out.
Thanks,
MallikUnsupported xstream found: ("HTTP Code 401 : Unauthorized")
Unsupported xstream means response received from service provider (host) is NOT in valid xml format (usually HTML). You will see this type of error when host or service you are trying to call return HTML (error pages etc).
HTTP Code 401 : Unauthorized : Clearly means that user/password for service provider is incorrect
[Click here|http://en.wikipedia.org/wiki/List_of_HTTP_status_codes] to understand all HTTP code
I am closing this thread, if you have any question post new question in forum.
Regards,
Gourav -
"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? -
Serialization error in SAP Web Service.
Hi all,
I have exposed a custom RFC as a Web Service. This is a simple web service that returns Customer Data (from kna1) based on the Customer ID which we provide as input.
In the RFC, I have declared an internal table (G_RET) in the tables section of the RFC.
Now, while testing the web service, I can see a check box with NULL option beside the G_RET. If i check the NULL option for G_RET, I get an error.
XML Serialization Error. Array Property [Item] in class [none] must not have NULL elements. This is restricted by schema description.
This is a high priority task. Please reply to me with any solution that you may have.
Regards,
Preksha.Your problem has nothing to do with SAP web service. When you expose a RFC function as a web service, you are defining a service contract using WSDL technologies and XML message format enforced by the schema definition associated with the data source.
When a system consume a web service it is upto that system to provide a client framework so that it can provide an implementation enforces by the WSDL contract. Contract terms in WSDL is only applicable to data types, message types, access style and ecoding.
It is upto the client framework to provide a mechanism to send and receive the data as per the contract.
In your case, you are using a Microsoft client, so MS implementation of web service technology play a big role here.
C# XML serialization class from the MS client program you are using to call the program, read the WSDL contract and try to understand the definition and terms and conditions of the messages, types, binding.
In your WSDL you may have constraints applied at each field level of the schemas associated with the input and output messages of the web service methods.
Unfortunatly the way C# XML serialization class understand the terms and condition is confusing and it create a rum time error.
Having said this all stories now let us get into practical way.
1. Test ur web service using a non MS client
2. Make sure it is working, this isolate your issues to the way client understanding the WSDL contracts.
3. Then work with some MS guys in your shop to address this issue.
From your post I hope you are a candidate having experience in working with SAP customization project. However when ever you deal with open technologies such as JAVA, Web Services, it is highly recomended to think outside the BUNN.
AS SAP move towards more open technologies such as JAVA, WSDL, SOAP, WS, XML, XSD it is very important to elaborate your knowledge beyond the scope of a customization project.
Thanks
Maybe you are looking for
-
EBS: Automatic clearing of customer open items
Hi Experts, I am setting up the electronic bank statement with format MT940 structured with field 86. As part of the scope, business is requesting to ensure that customer open items gets cleared automatically when the bank statement is uploaded thro
-
hi, my cd rom is not visible and the pc does not recognise any cd i put in. i have tried device manager and it says cd rom drivers are installed and working. i have reinstalled windows 7 and it has made no difference. hope someone out there can help
-
SQL Server SQLJDBC4 Driver won't connect from Browser.
Hello, First I hope I have selected the correct Category and Forum for this, please move if required and my apologies. We have a (Digitally Signed) Java Applet that resides on a HTTPS enabled server usinng a EV Digital Certificate. Having made a simp
-
Aperture 3.3 - The Previews mechanism appears to be entirely broken.
TL;DR: In Aperture 3.3 are your Previews in Aperture there when they shouldn't be, and not there when they should? Try confirming this: I created a new Library with a couple of small albums for testing. The Previews folder in .aplibrary is empty eve
-
[SOLVED]installation: partition size FAIL, too small /var
Yeah, I managed to make a mess again. I thought I had given the /var 15 GB and it turned out to be 1.5 GB, now I'm facing this situation: [tomislav@shakenbake ~]$ df -h Filesystem Size Used Avail Use% Mounted on /dev/sda2 14G 2.5G 11G 19% / udev 10M