VB Web service with arrays as variant type - access from java
Hi, I have a VB service as an activex.dll running on IIS. My first experience with VB.
The input type is variant, as VB will only handle arrays of that type. All works well with
a VB client. It takes 2 arrays in and returns an array. The WSDL file using a complex
type of
<complexType name='ArrayOfanyType'>
<complexContent>
<restriction base='SOAP-ENC:Array'>
<attribute ref='SOAP-ENC:arrayType' wsdl:arrayType='anyType[]'/>
</restriction>
</complexContent>
</complexType>
I take this WSDL file to the client side, change the type to
<complexType name='ArrayOfinteger'>
<complexContent>
<restriction base='SOAP-ENC:Array'>
<attribute ref='SOAP-ENC:arrayType' wsdl:arrayType='integer[]'/>
</restriction>
</complexContent>
</complexType>
and then generate the Java proxy using jdeveloper 9031. All is good and I call the service
and get a response, which in turn gives me a result. the result.getvalue fails with a caste
exception, [LObject[] to Integer[]. The return value is there, but it's type is Object, which I can
see by inspecting response in the debugger. I am getting
pretty sure it is not a Java Object, but a dom or sax Object. The DOM DocumentBuilder
works for String to get the values, but not for this Object type. Does anyone know how to
parse out an Object Type with DOM or SAX?
A java type "Object" is parent class of all java instances - to parse it with DOM or SAX requires you to cast it to the required object type by that parser api - eg "Document" - check out the DOM and SAX api docuemntation.
Similar Messages
-
Invoking Web Service with array paramter
Hi,
I'm trying to invoke a Java web service having an array as input parameter but it only works if i have only one child or if i chose one specific element with xpath.
bpel variables:
<variables>
<variable name="mergedSupps" element="client:suppliers"/>
<variable name="Invoke_1_getRating_InputVariable" messageType="ns1:getRating"/>
<variable name="Invoke_1_getRating_OutputVariable" messageType="ns1:getRatingResponse"/>
</variables>
this works:
<assign name="Assign_1">
<copy>
<from variable="mergedSupps" query="/client:suppliers/client:suppID[1]"/>
<to variable="Invoke_1_getRating_InputVariable" part="parameters" query="/ns1:getRating/suppID"/>
</copy>
</assign>
does not work:
<assign name="Assign_1">
<copy>
<from variable="mergedSupps" query="/client:suppliers/client:suppID"/>
<to variable="Invoke_1_getRating_InputVariable" part="parameters" query="/ns1:getRating/suppID"/>
</copy>
</assign>
wsdl:
<element name="suppliers" type="client:supplierType"/>
<element name="procRatingTestProcessRequest" type="client:requestType"/>
<element name="procRatingTestProcessResponse" type="client:responseType"/>
<complexType name="requestType">
<sequence>
<element name="suppliers" type="client:supplierType"/>
</sequence>
</complexType>
<complexType name="supplierType">
<sequence>
<element name="suppID" type="string" maxOccurs="unbounded"/>
</sequence>
</complexType>
<complexType name="responseType">
<sequence>
<element name="rating" type="double"/>
</sequence>
</complexType>
java:
@WebMethod
public double getRating(@WebParam(name= "suppID") String[] s) {
anyone can help?????Sorry i was trying around too much, it was empty some other time ;)
when i try:
<assign name="Assign_1">
<copy>
<from variable="mergedSupps" query="/client:suppliers/client:suppID"/>
<to variable="Invoke_1_getRating_InputVariable" part="parameters" query="/ns1:getRating/suppID"/>
</copy>
</assign>
i get:
<selectionFailure>
<part name="summary" >
<summary>
XPath query string returns multiple nodes. According to BPEL4WS spec 1.1 section 14.3, The assign activity part and query /client:suppliers/client:suppID should not return multipe nodes. Please check the BPEL source at line number "70" and verify the part and xpath query /client:suppliers/client:suppID.</summary>
</part>
</selectionFailure> -
Fail to create web service with user-defined data type using jwsc Ant task!
Hello every body!
I used JAXWS to create WSDL from a jws file.
This is my jws:
package ws;
import javax.jws.WebService;
import javax.jws.WebMethod;
import ws.MyDataType;
*@WebService*
*public class MyWebService {*
public MyWebService()
*@WebMethod*
public MyDataType MyWebMethod(MyDataType mdt)
*// mdt.setS("I got it!");*
return mdt;
and this is my data type:
package ws;
*public class MyDataType {*
String s;
public MyDataType()
*public String getS() {*
return s;
*public void setS(String s) {*
this.s = s;
and this is my Ant build.xml
*<project default="all">*
*<property name="weblogic.jar.classpath" value="D:/Projects/bea103/wlserver_10.3/server/lib"/>*
*<taskdef name="jwsc" classname="weblogic.wsee.tools.anttasks.JwscTask">*
*<classpath>*
*<path id="weblogic.classpath">*
*<pathelement path="WEBLOGIC_HOME"/>*
*<fileset dir="${weblogic.jar.classpath}">*
*<include name="weblogic.jar"/>*
*</fileset>*
*</path>*
*</classpath>*
*</taskdef>*
*<target name="all" depends="clean,build-service"/>*
*<target name="clean">*
*<delete dir="output"/>*
*</target>*
*<target name="build-service">*
*<!--add jwsc and related tasks here -->*
*<jwsc srcdir="" destdir="wsoutput">*
*<jws file="MyWebService.java" type="JAXWS"/>*
*</jwsc>*
*</target>*
*<!--<target name="deploy"> --><!--add wldeploy task here --><!-- </target>-->*
*</project>*
I run the Ant task but I get this error:
Buildfile: build.xml
clean:
build-service:
[jwsc] JWS: processing module /MyWebService
[jwsc] Parsing source files
[jwsc] Parsing source files
[jwsc] 1 JWS files being processed for module /MyWebService
*[jwsc] [JAM] Warning: failed to resolve class MyDataType*
[jwsc] JWS: C:\Documents and Settings\samimi\IdeaProjects\SampleWebService\src\ws\MyWebService.java Validated.
[jwsc] Processing 1 JAX-WS web services...
*[jwsc] error: Could not get TypeDeclaration for: MyDataType in apt round: 1*..........
BUILD FAILED
C:\Documents and Settings\samimi\IdeaProjects\SampleWebService\src\ws\build.xml:
19: weblogic.wsee.tools.WsBuildException: Error processing JAX-WS web services
Please help me to solve this issue.
Thank you,
MojirThank u very much Jay SenSharma this was helpful
and thank u sandeep_singh this is the answer,
I find another answer too :
adding my class files to the path remove the error:
<project default="all">
<property name="weblogic.jar.classpath" value="D:/Projects/bea103/wlserver_10.3/server/lib"/>
<taskdef name="jwsc" classname="weblogic.wsee.tools.anttasks.JwscTask">
<classpath>
<path id="my.path">
<pathelement path="D:/Projects/bea103/jdk160_05/lib/tools.jar"/>
<pathelement path="D:/Projects/bea103/wlserver_10.3/server/lib/weblogic.jar"/>
*<pathelement path="D:/Projects/LifeInsurance Project Original/BusinessModule/classes/"/>* adding this line solved my problem.
<pathelement path="${java.class.path}"/>
</path>
<path id="weblogic.classpath">
<pathelement path="WEBLOGIC_HOME"/>
<fileset dir="${weblogic.jar.classpath}">
<include name="weblogic.jar"/>
</fileset>
</path>
</classpath>
</taskdef>
<target name="all" depends="clean,build-service"/>
<target name="clean">
<delete dir="output"/>
</target>
<target name="build-service">
<jwsc sourcepath="mytype" classpathref="my.path" debug="true" srcdir="" destdir="wsoutput">
<jws file="NegotiationService.java" generatewsdl="true" type="JAXWS"/>
</jwsc>
</target>
</project>
Thank u very much,
Mojir -
PL SQL Web Service with XML output - Remove the declaration from the proces
Using JDeveloper to create PL/SQL web services it inserts the generic declaration
<?xml version="1.0" encoding="UTF-8" ?>. I want to remove this line from the payload.
Here is the entire payload. Why is this inserted and how do I get rid of it.
<?xml version="1.0" encoding="UTF-8" ?>
- <SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
- <SOAP-ENV:Body>
- <SOAP-ENV:Fault>
<faultcode>SOAP-ENV:Server.Exception:</faultcode>
<faultstring>java.sql.SQLException: java.sql.SQLException: ORA-04068: existing state of packages has been discarded ORA-04063: package body "FDC_API.PVR_IPS_TICKET" has errors ORA-06508: PL/SQL: could not find program unit being called ORA-06512: at line 1</faultstring>
<faultactor>/pvr_ora-pvr_tickets-context-root/Pvr2ips</faultactor>
</SOAP-ENV:Fault>
</SOAP-ENV:Body>
</SOAP-ENV:Envelope>rvice, my payload has theWe can generate jaxws from 11.1.2.0 onwards using This is now provided by the TopLink web service provider builder, which can be via the TopLink DBWS provider wizard from JDeveloper since the 11.1.2.0.0 release
1.4.4 Database Web Services (DBWS)
http://docs.oracle.com/cd/E23943_01/doc.1111/e26045/general.htm#CHDIEEHG
Hope that heps
Regards,
Sunil P -
Calling web service with basic authentication from EP "unauthorized"
Hello,
I need to call a .NET web service with basic authentication on the IIS from my portal application (no http proxy between portal and IIS). But always I get the following exception:
<b>com.sap.engine. services.webservices.jaxm.soap.accessor. NestedSOAPException:
Problem in server response: [Unauthorized].</b>
I'm using the following code for calling the .NET web service:
<b>...</b><i>Licence_GetList lParameter = new Licence_GetList();
lParameter.setStatus(CEnvironment.TransformStatus_WebService(search));
ILicenceManager lLicMan = (ILicenceManager) PortalRuntime.getRuntimeResources().getService("LicenceManager");
ILicenceManager lLicManSecure = lLicMan.getSecurisedServiceConnection(request.getUser());
Licence_GetListResponse lGetListResponse = lLicManSecure.Licence_GetList(lParameter);</i><b>...</b>
I've also configured a http system in the portal system landscape using the following parameters:
<i>Authentication Method : Basic Authentication
Authentication Type : Server
User Mapping Type : admin,user</i>
The user mapping is also personalized for this system!
What's wrong? Please help! This is really urgent!
Kind Regards
Joerg LoechnerHello Renjith,
here is a small cutout of my "portapp.xml";
<services>
<service alias="LicenceManager" name="LicenceManager">
<service-config>
<property name="className" value="de.camelotidpro.
pct.xi.scm.webservice.LicenceManager"/>
<property name="startup" value="false"/>
<property name="WebEnable" value="false"/>
<property name="WebProxy" value="true"/>
<property name="SecurityZone" value="de.camelotidpro.
pct.xi.scm.webservice.LicenceManager/
DefaultSecurity"/>
</service-config>
<service-profile>
<property name="SystemAlias" value="LicMan_NET"/
</service-profile>
</service>
</services>
I'm using a http system created in the system landscape (alias LicMan_NET). But it seems that this system is not used by the web service call (No error, even if I delete this system!). The code used to call this web service can be found at the top of this threat...
Regards
Joerg Loechner -
Web service with complex java type
Hi,
I create a web service method with String o with Array of Strings without problem. Now I nedd to create a ws that return a table, so I create a class like this:
public class User {
private String Name;
private String.Surname;
public void setName(String setName){
Name= setName;
public void setSurname(String setSurname){
Surname=setSurname;
In my ws class I use this object:
public User[] getUser(String a){
User[] user = new User[10];
for (int i=0;i<10;i++){
User<i>.setName("aaa");
User<i>.setSurname("bbb");
return user;
When in WebService Perspective I try to create my ws in wizard mode I see method getUser but I can't check it
Where is error?
Thanks
AndreaHI Andrea,
I think with present netweaver developer studio , we can create Web services with end points as simple data types in java and the array of that simple data types.
not sure whether it support our own custom developed classes as end points.
just go through these links.
http://help.sap.com/saphelp_nw2004s/helpdata/en/f7/af60f2e04d0848888675a800623a81/frameset.htm
http://help.sap.com/saphelp_nw2004s/helpdata/en/f7/af60f2e04d0848888675a800623a81/frameset.htm
from this we will get Restrictions for WS Endpoints.
Regards
Kishor Gopinathan -
Problem implementing web services with types generated by jdeveloper 10.1.3
Hello,
I have generated a web service using JDeveloper 10.1.3.3. from a WSDL. This WSDL includes a schema with some types defined. There is a element with the following definition:
<xs:element name="OptionalInputs" type="AnyType"/>
where:
<xs:complexType name="AnyType">
<xs:sequence>
<xs:any processContents="lax" minOccurs="0" maxOccurs="unbounded"/>
</xs:sequence>
</xs:complexType>
The meaning of the element OptionalInputs is that it can include other elements, of any type, definied within the same schema.
After generating the web service from the WSDL, I get the following:
- A Class named 'AnyType' that consists of one element of type
protected javax.xml.soap.SOAPElement[] _any;
- Some classes which must be included in an object of type 'AnyType', and that implements java.io.Serializable.
However, I do not know how to include successfully one of this (serializable) classes into an object of type 'AnyType' (SOAPElement[]).
Could you be so kind as to help me, please?
Thank you very much in advance.Hi there,
10.1.3 is not production ready yet, and you will find this warning on the oracle page http://www.oracle.com/technology/tech/java/oc4j/1013/index.html
"Under no circumstances should it be used in production environments."
Does this mean that it's not possible to deploy a Doc/Lit webservice to production using JDeveloper? Is there any other way of getting it to work with 10.1.2?
Thanks,
Vid. -
Create Web Services and return a complex type with ADF
Hello,
I've tried tried using ADF BC and service interface to create a Web service, this works well, but I needed to return more complex data types, such as a list of person objects (name, last name, ...), as I reviewed in the ADF BC service interface can return only some types of data :(
Anyone know how I could do this using ADF BC, or how else do you recommend
thanksHow I can access to the AppModule from java class in the Model Project
I've tried use
String amDef = "model.services.WsAM";
String config = "WsAMLocal";
ApplicationModule am = Configuration.createRootApplicationModule(amDef, config);
WsAMImpl myAm = (WsAMImpl)am;
but in the Web Service, this throw a exception
<ns2:exception class="java.lang.NoClassDefFoundError" note="To disable this feature, set com.sun.xml.ws.fault.SOAPFaultBuilder.disableCaptureStackTrace system property to false" xmlns:ns2="http://jax-ws.dev.java.net/">
<message>oracle/jbo/client/Configuration</message>
please I hope your help
Thanks.
Edited by: rmespas80 on 08-jul-2011 16:26 -
Build web service with value types
Hi,
I am trying to build a web service that uses a value type as a parameter.
I am using wscompile and wsdeploy to build the service.
But I don't know how to include the value type in my service.
This is what I do:
First I compile all the java files and put them in my build directory (incuding the value type class)
Then I use wscompile -define -d build -nd build -classpath build config-interface.xml -model build/model.gz
Then I create the war file that contains the class files, model.gz, web.xml and jaxrpc-ri.xml.
Then I run wsdeploy -o dist/generic-serv.war dist/generic-service.war
How do I get my value type class included in the wsdl file? and does it need to be in the model.gz file aswell?Sorry I was a bit wrong describing my problem.
I am trying to use an ArrayList containing value types as a parameter. -
RPC/SOAP-Encoded Web Service with Workshop
Is there anyway to create a RPC/SOAP-Encoded Web Service with Workshop ? There is an "encoding" attribute in the autotype ant task but no corresponding properties in Workshop.
Hi,
Thanks for the reference.
I have checked both in the wsdl and the Soap message,
rpc property effectively means rpc/encoded. Now that
would say that RPC/Literal is not supported ?
Here are what the messages looks like with rpc and
document properties
Thanks all for making this clear.
document wlw property = Document/Literal
<SOAP-ENV:Envelope xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<SOAP-ENV:Body SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/">
<ns:getEmployeeResponse xmlns:ns="http://www.openuri.org/">
<ns:getEmployeeResult xmlns:ns="http://www.openuri.org/">
<ns:Address xmlns:ns="http://www.openuri.org/">
<ns:City xmlns:ns="http://www.openuri.org/">Luxembourg</ns:City>
<ns:Country xmlns:ns="http://www.openuri.org/">LU</ns:Country>
<ns:Number xmlns:ns="http://www.openuri.org/">2</ns:Number>
<ns:PostCode xmlns:ns="http://www.openuri.org/">1000</ns:PostCode>
<ns:Street xmlns:ns="http://www.openuri.org/">Bld. Royal</ns:Street>
</ns:Address>
<ns:Age xmlns:ns="http://www.openuri.org/">20</ns:Age>
<ns:Name xmlns:ns="http://www.openuri.org/">Dupont</ns:Name>
<ns:FirstNames xmlns:ns="http://www.openuri.org/">
<ns:String xmlns:ns="http://www.openuri.org/">Jean</ns:String>
<ns:String xmlns:ns="http://www.openuri.org/">Jacques</ns:String>
</ns:FirstNames>
</ns:getEmployeeResult>
</ns:getEmployeeResponse>
</SOAP-ENV:Body>
</SOAP-ENV:Envelope>
rpc wlw property = RPC/Soap-Encoded
<SOAP-ENV:Envelope xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<SOAP-ENV:Body SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/">
<ns:getEmployeeResponse xmlns:ns="http://www.openuri.org/">
<getEmployeeResult xmlns:s="http://www.openuri.org/encodedTypes" xsi:type="s:Employee">
<Address xsi:type="s:Address">
<City xsi:type="xsd:string">Luxembourg</City>
<Country xsi:type="xsd:string">LU</Country>
<Number xsi:type="xsd:int">2</Number>
<PostCode xsi:type="xsd:string">1000</PostCode>
<Street xsi:type="xsd:string">Bld. Royal</Street>
</Address>
<Age xsi:type="xsd:int">20</Age>
<Name xsi:type="xsd:string">Dupont</Name>
<FirstNames SOAP-ENC:arrayType="xsd:string[2]" xsi:type="SOAP-ENC:Array">
<String xsi:type="xsd:string">Jean</String>
<String xsi:type="xsd:string">Jacques</String>
</FirstNames>
</getEmployeeResult>
</ns:getEmployeeResponse>
</SOAP-ENV:Body>
</SOAP-ENV:Envelope>
Message was edited by phcollignon at Aug 27, 2004 2:54 AM -
Web Service with Complex Results and Flex
I have created a Enterprise Java Bean that has one "test" method that returns a String[]. I have compiled, deployed and registered this bean in Sun's Application Server 8.1. I am using NetBeans 5.0 to develop this project.
I try to load this web service into Flex and I get a fault thrown: TypeError: Error #1034: Type Coercion failed: cannot convert []@29e5d06 to XMLList. I have set the returnType in Flex as "e4X.". Do I need to do this in my webservice.
Any help would be appreciated.HI Andrea,
I think with present netweaver developer studio , we can create Web services with end points as simple data types in java and the array of that simple data types.
not sure whether it support our own custom developed classes as end points.
just go through these links.
http://help.sap.com/saphelp_nw2004s/helpdata/en/f7/af60f2e04d0848888675a800623a81/frameset.htm
http://help.sap.com/saphelp_nw2004s/helpdata/en/f7/af60f2e04d0848888675a800623a81/frameset.htm
from this we will get Restrictions for WS Endpoints.
Regards
Kishor Gopinathan -
Accessing external web service with non-constant URL
Hello, all
I am looking in the documentation on accessing external web services, but either I am looking in the wrong place, or the documentatoin is lacking info.
My clients have several web services in the local network (regular services, not DB-based), the have the same interface, but different URL's.
Versions of the DB are 11, 12, and 16.
First of all, I do not see in the specs an option for a non-hardcoded URL. The logic says that this has to be possible, but I cannot find it.
Second, I need to see an example of accessing an XML or JSon based service, I cannot find it in the specs either.
Can anyone point me to a document with examples?
Thank you
ArcadyThe following will call a web service with whatever URL you pass in as the argument "myurl". I think that is what you are looking for.
CREATE PROCEDURE cli_test2( myurl LONG VARCHAR )
RESULT( httpheaders long varchar, httpvalues long varchars
URL '!myurl'
To deal with the resulting data in XML, use the OPENXML() function.
eg. To turn an XML list of employees that looks like this:
<root>
<row EmployeeID="102" Surname="Whitney" GivenName="Fran" StartDate="1984-08-28"/>
</root>
into a table of results, you would do this (where xmlgetemplist() is the web service call):
CREATE OR REPLACE PROCEDURE xmlgetemplist() RESULT( httpheader long varchar, httpbody long varchar)
URL 'http://localhost/demo/xmlEmployeeList'
TYPE 'HTTP:GET';
create variable res long varchar;
-- call the web service
select httpbody into res from xmlgetemplist() where httpheader = 'Body'
-- extract the XML elements into a SQL result set
select * from openXML( res, '/root/row' ) WITH ( EmployeeID INT '@EmployeeID',
GivenName CHAR(20) '@GivenName',
Surname CHAR(20) '@Surname',
PhoneNumber CHAR(10) '@Phone');
To deal with the resulting data in JSON, use the sp_parse_json() procedure.
eg.
To turn a JSON formatted list of employees that looks like this:
"EmployeeID": 102,
"Surname": "Whitney",
"GivenName": "Fran",
"StartDate": "1984-08-28",
"TerminationDate": null
into a table of results, you would do this (where jsongetemplist() is the web service call):
CREATE OR REPLACE PROCEDURE jsongetemplist() RESULT( httpheader long varchar, httpbody long varchar)
URL 'http://localhost/demo/jsonEmployeeList'
TYPE 'HTTP:GET';
create variable foo long varchar;
--call the webservice
select httpbody into foo from jsongetemplist() where httpheader = 'Body';
--turn the json result into a structured array of data
-- this step is required because of less structured nature of JSON
call sp_parse_json( 'output_array', foo);
--extract the JSON elements from the output array into a SQL result set
SELECT output_array[[row_num]].EmployeeID as EmployeeID,
output_array[[row_num]].SurName as SurName,
output_array[[row_num]].GivenName as GivenName,
output_array[[row_num]].StartDate as StartDate,
output_array[[row_num]].TerminationDate as EndDate
FROM sa_rowgenerator(1, CARDINALITY(output_array))
Hope this helps,
--Jason -
Hey guys,
I am quite new in using BPEL. My first test worked fine, but know I have an issue, which I can not solve. Invoking web services with a basic return value is no problem. I could also you a dto object including some basic variables in order to invoke the web service without having problems.
But when I have a dto object as return value, I get the following exception.
Could someone give me a hint to fix my problem...that would be great!
Thanks alot!
Sven
<messages>
- <input>
- <carReserveRequest>
- <part xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" name="in0">
- <in0 xmlns="" xmlns:def="urn:TravelBooking" xsi:type="def:CarReservationDTO" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<carType>
Mini
</carType>
<customerName>
9
</customerName>
<customerPhone>
9
</customerPhone>
<reservationEnd>
2030-12-12T00:00:00.000+01:00
</reservationEnd>
<reservationStart>
2029-12-12T00:00:00.000+01:00
</reservationStart>
</in0>
</part>
</carReserveRequest>
</input>
- <fault>
- <remoteFault xmlns="http://schemas.oracle.com/bpel/extension">
- <part name="summary">
<summary>
exception on JaxRpc invoke: trailing block elements must have an id attribute
</summary>
</part>
</remoteFault>
</fault>
</messages
Message was edited by:
user606281Here is more information. Below are the relevant sections of the web service's WSDL which I am trying to call from BPEL:
- <wsdl:message name="getNextIDResponse">
<wsdl:part name="part1" element="ns0:getNextIDResponse" />
</wsdl:message>
- <wsdl:message name="getNextIDFault">
<wsdl:part name="part1" element="ns0:SOAPExceptionFault" />
</wsdl:message>
<wsdl:message name="getNextIDMessage" />
- <wsdl:portType name="GetUniqueIDPortType">
- <wsdl:operation name="getNextID">
<wsdl:input message="axis2:getNextIDMessage" wsaw:Action="urn:getNextID" />
<wsdl:output message="axis2:getNextIDResponse" />
<wsdl:fault name="getNextIDFault" message="axis2:getNextIDFault" />
</wsdl:operation>
</wsdl:portType> -
Calling Reporting Services Web Service with jQuery possible?
Hi,
is it possible to call the Reporting Services Web Service with jQuery? If yes, can someone post me a small example?
Background:
My plan is to create a html with a form which is also uploaded then into the reportserver. I open this html later by clicking a link in a report (with gotoURL open.window). The report opens the html inclusive the overtaken of some additional parameters
(reportname, reportdescription). These parameters I will use in the html-form as defaultvalues for the corresponding input-text-fields. Now the user can make some changes (i.e. the decription). With a click on a button I will send the new description to
the Reporting Services Web Service by using the SetProperties method, closing the html-window and reload the report. Important is that I want to upload the html also into the reportserver itself.
I have already found how to consume a web service via jQuery but with the Reporting Services Web Service I did not get it running in my tests.
I have referenced to the following jQuery.js: http://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js
Here you can see my tests I made with the results:
$.ajax({
type: 'POST',
url: 'http://<..>/ReportServer/ReportService2010.asmx/ListChildren',
data: {'ItemPath':'/','Recursive':false},
complete: function(xData, status) {
$('p').html($(xData.responseXML).text()); // result
$("#divStatus").text( status ); // status }
I got a NULL response with Status success. But where are the items?
Another test which should response only one value was that:
$.ajax({
type: "POST",
contentType: "text/xml; charset=utf-8",
url: "http://<..>/ReportServer/ReportService2010.asmx/GetItemType",
data: {"Item":"/Development"}, // Development is a Folder in my Reportserver-Root
dataType: "xml",
success: function (msg) {
$("#divResult").html(msg.responseXML);
error: function (data, status, error) {
$("#divResult").html("WebSerivce unreachable<br> <br>" + data.responseXML + "<br> <br>(" + error + ")");
Here I got an [object Error]
And here my last test:
var soapMessage = '<?xml version="1.0" encoding="utf-8"?>\
<soap:Envelope \
xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" \
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" \
xmlns:xsd="http://www.w3.org/2001/XMLSchema">\
<soap:Body>\
<GetItemType xmlns="http://www.microsoft.com/sql/ReportingServer">\
<ItemPath>/Development</ItemPath>\
</GetItemType>\
</soap:Body>\
</soap:Envelope>';
$.ajax({
type: "POST",
contentType: "text/xml; charset=utf-8",
url: http://<..>/ReportServer/ReportService2010.asmx?wsdl,
data: soapMessage,
dataType: "xml",
success: processSuccess,
error: processError
function processSuccess(data, status, req) {
if (status == "success")
$("#response").text($(req.responseXML).find("Type").text());
function processError(data, status, req) {
alert(req.responseText + " " + status);
Here I got an "Undefined error"
Can anyone help me?
Thanks
René IllnerHi Rene,
I have one vbscript class to call web services. May be if you need you can use it.
dim ws
set ws = new webservice
ws.url = "http://servername/ReportServer/ReportService2010.asmx"
ws.method = "MethodName"
ws.parameters.Add "Parameter1", "Param1 Desc.."
ws.parameters.Add "Parameter2","[email protected].."
ws.execute
set ws = nothing
'------web service calling class
class WebService
public Url
public Method
public Response
public Parameters
public function execute()
dim xmlhttp
Set xmlhttp = CreateObject("Microsoft.XMLHTTP")
xmlhttp.open "POST", Url & "/" & Method, false
xmlhttp.setRequestHeader "Content-Type", "application/x-www-form-urlencoded"
xmlhttp.send Parameters.toString
response = xmlhttp.responseText
set xmlhttp = nothing
end function
Private Sub Class_Initialize()
Set Parameters = new wsParameters
End Sub
Private Sub Class_Terminate()
Set Parameters = Nothing
End Sub
End class
class wsParameters
public mCol
public function toString()
dim nItem
dim buffer
buffer = ""
for nItem = 1 to Count
buffer = buffer & Item(nItem).toString & "&"
next
if right(buffer,1)="&" then
buffer = left(buffer,len(buffer)-1)
end if
toString = buffer
end function
public sub Clear
set mcol = nothing
Set mCol = CreateObject("Scripting.Dictionary")
end sub
public sub Add(pKey,pValue)
dim newParameter
set newParameter = new wsParameter
newParameter.Key = pKey
newParameter.Value = pValue
mCol.Add mCol.count+1, newParameter
set newParameter = nothing
end sub
public function Item(nKey)
set Item=mCol.Item(nKey)
end function
public function ExistsXKey(pKey)
dim nItem
for nItem = 1 to mcol.count
if mCol.Item(nItem).key = pKey then
ExistsXKeyword = true
exit for
end if
next
end function
public sub Remove(nKey)
mCol.Remove(nKey)
end sub
public function Count()
Count=mCol.count
end function
Private Sub Class_Initialize()
Set mCol = CreateObject("Scripting.Dictionary")
End Sub
Private Sub Class_Terminate()
Set mCol = Nothing
End Sub
end class
class wsParameter
public Key
public Value
public function toString()
toString = Key & "=" & Value
end function
end class
Regards, RSingh -
Hi All,
I am new to Web services with JAXB in ECLIPS.
When I tried to unmarshal the XML file, I am getting the following exception.
javax.xml.bind.UnmarshalException: unexpected element (uri:"", local:"order"). Expected elements are <{http://webservices/}read>,<{http://webservices/}readResponse>
at com.sun.xml.bind.v2.runtime.unmarshaller.UnmarshallingContext.handleEvent
xml , schema and java class are in follow.
Please help me to solve this issue.
Mohseni Rad.
----------------------------------po.xsd-----------------------------------------
<?xml version="1.0" encoding="UTF-8"?>
<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<xsd:element name="order" type="OrderType"/>
<xsd:complexType name="OrderType">
<xsd:sequence>
<xsd:element name="shipTo" type="xsd:string"/>
<xsd:element name="billTo" type="xsd:string"/>
</xsd:sequence>
</xsd:complexType>
</xsd:schema>
------------------------------------po.xml----------------------------------------
<?xml version="1.0" encoding="UTF-8"?>
<order>
<shipTo>shipto</shipTo>
<billTo>billto</billTo>
</order>
------------------TestWS.java---------------------
import java.io.FileInputStream;
import java.io.IOException;
import javax.xml.bind.JAXBContext;
import javax.xml.bind.JAXBElement;
import javax.xml.bind.JAXBException;
import javax.xml.bind.Unmarshaller;
import wsclient.*;
public class TestWs {
public static void main(String[] args) {
try{
SecondWebServices webService = new SecondWebServicesService
.getSecondWebServicesPort();
JAXBContext jctx = JAXBContext.newInstance("wsclient");
Unmarshaller unmarshaller = jctx.createUnmarshaller();
FileInputStream fl = new FileInputStream( "etc//po.xml" );
JAXBElement<?> order = (JAXBElement<?>)unmarshaller.unmarshal( fl );
OrderType orderType = (OrderType)order.getValue();
webService.read( orderType);
}catch (JAXBException je) {
je.printStackTrace();
catch (IOException ioe) {
ioe.printStackTrace();
}Hi,
When you are using JAX-WS, there is a tool wsimport, with which you are going to generate the artifacts required to implement the web service.
When you pass the WSDL as a parameter to the wsimport tool, it will be create the required beans also(JAXB Objects).
So need of any other external implementation of JAXB when you are working with JAXWS
Thanks,
Maybe you are looking for
-
If I have one tab open at a site, and then open a new tab to a different website, when I click back on my other tab the screen is a blank gray color and I have to refresh it to get the site back. This happens almost every time I switch between my ope
-
ATV3 - setup without HDMI. One available is being used for cable box.
What is the best way to hook up my new Apple TV3. Just arrived and can't believe I have to wait and figure this out. I do not have a HDMI slot available. Our TV has one HDMI slot that is being used for our cable. What are the best options ot look
-
Calling the function from SQL query
Hi, I am trying to run the below statement, Select to_number(apps.pay_balance_pkg.get_value( 326, :paa.assignment_action_id,to_date ('31032011','ddmmyyyy'))) from dual; getting an error as : ORA-14552 cannot perform a DDL, commit or rollback inside a
-
Home hub causing problems with phone line
I posted earlier about a phone extension problem- it seems the hub is the problem. My phone had no dial tone just lots of noise,there doesnt seem to be a wiring problem, however if I unplug the home hub the phone will work fine! I have tried a new ca
-
Since the release of the newest version of flash, 13.0.0.214 many Taleo users can login but cannot view documents in the Taleo system. When they click on a document, it does not open. The last version which worked was 13.0.0.206, Is a fix availabl