Error calling RemoteAdministrationCall operation from ASP.NET
15 February, 2011
Hi,
I have an ASP.NET web application attempting to Single Sign On to YellowFin.
The web application generates the necessary stubs to call the Administration service.
When I call the RemoteAdministrationCall with function 'LOGINUSER' I get the following exception.
"RPC Message addColumnToViewsRequest1 in operation addColumnToViews1 has an invalid body name addColumnToViews. It must be addColumnToViews1"
Is the objects created from the WSDL incorrect?
I have an ASP.NET web application attempting to Single Sign On to YellowFin.
The web application generates the necessary stubs to call the Administration service.
When I call the RemoteAdministrationCall with function 'LOGINUSER' I get the following exception.
"RPC Message addColumnToViewsRequest1 in operation addColumnToViews1 has an invalid body name addColumnToViews. It must be addColumnToViews1"
Is the objects created from the WSDL incorrect?
Had a look the WSDL and it seems that there are two 'addColumnToViews' operations defined.
When I modified the generated class objects to 'addColumnToViews1' for one of them, the services worked.
Is the WSDL for the AdministrationService correctly defined?
When I modified the generated class objects to 'addColumnToViews1' for one of them, the services worked.
Is the WSDL for the AdministrationService correctly defined?
what's happen with YellowFin support team, no more answer. :(
Hi,
Sorry for not getting back to you sooner!
Unless we subscribe to forum posts, we are not notified when a response has been added. It looks like no-one had subscribed to the initial post, so it was not actively being looked at by anyone.
This isn't a common occurrence, but has happened before, which is the reason why we will be moving towards a new forum in the near future.
I guess you have managed to solve your issue, though to answer your question. The WSDL is correct, however we use an older version of Axis so when using .net you just need to make a few modifications as mentioned here : Dot Net integration
However...you could use JAX and not worry about using AXIS and any compatibilities.
Enabling JAX webservices...
This is how you enable JAX services in Yellowfin 6.3:
You'll have to add this to your web.xml file:
com.sun.xml.ws.transport.http.servlet.WSServletContextListener
WebServices
com.sun.xml.ws.transport.http.servlet.WSServlet
WebServices
/webservices/*
This goes within the root node in the web.xml file.
Actually... this looks like it is just commented-out in a standard 6.3 install.
Once you have done this... you should be able to hit the JAX webservices at: http:///webservices/Hello
It will display something like this:
That's all you should need to do...
Connect your clients to the listed WSDL URLs.
2. Using the included JSP webservice examples
The webservice examples exist in:
Yellowfin/development/examples/webservices
To use these copy the JSPs copy them to Yellowfin/appserver/webapps/ROOT
You will need to modify the JSPs to connect to the correct Yellowfin webservice end-point.
A good example can be found in these JSPs:
ws_mobile_binary.jsp
ws_mobile_home.jsp
ws_mobile_login.jsp
ws_mobile_logoff.jsp
ws_mobile_image.jsp
Copy these to the ROOT directory.
You will need to edit ws_mobile_home.jsp and ws_mobile_login.jsp.
In ws_mobile_home.jsp update these details to point to you Yellowfin instance:
<%
String Host = "localhost";
int Port = 8080;
String Username = "admin";
String Password = "test";
String AdminLocation = "/services/AdministrationService";
String ReportLocation = "/services/ReportService";
%>
In ws_mobile_login.jsp update these details to point to you Yellowfin instance:
<%
String Host = "localhost";
int Port = 8080;
String Username = "admin@yellowfin.com.au";
String Password = "test";
String Location = "/services/AdministrationService";
String vsLocation = "/services/VersionService";
%>
Once you have updated these details, you can hit ws_mobile_login.jsp in your browser...
See the screen shots attached of these pages in action.
Hope this information helps, and please let us know your findings/tests.
Regards,
David