Tunneling vs. Web Service to access EJB's through firewall
I need to be able to access EJB's from a client application when the server is
behind a firewall. Seems like I have two options:
1) Use WebLogic's built-in http-tunneling support.
2) Use WebLogic to generate a web service for each bean and then modify the client
application to use the generated SOAP stubs instead of having direct EJB references.
Now I know either option will result in slower performance as compared to direct
EJB references, but I'm not sure which is worse. Has BEA done any comparison
of the two approaches to know which one is expected to perform better than the
other? Any guidence someone can provide is greatly appreciated.
thanks,
Dan
Rob Woollen <[email protected]> wrote:
It depends :>
If performance is your primary concern that it would be best to
benchmark both. I suspect the performance difference will greatly
depend on what types you are marshalling.Yep, I was curious about the same thing and tried some benchmarking - depending
on what was marshalled, or course, SOAP performance hit vs binary protocol was
not as bad as i expected it to be.
However, a web service client would offer some nice advantages. Your
client application would be a lot more flexible.But there will be some functionality loss over RMI.
-- Rob
Dan Branley wrote:
I need to be able to access EJB's from a client application when the server is
behind a firewall. Seems like I have two options:
1) Use WebLogic's built-in http-tunneling support.
2) Use WebLogic to generate a web service for each bean and then modify the client
application to use the generated SOAP stubs instead of having direct EJB references.
Now I know either option will result in slower performance as compared to direct
EJB references, but I'm not sure which is worse. Has BEA done any comparison
of the two approaches to know which one is expected to perform better than the
other? Any guidence someone can provide is greatly appreciated.
thanks,
Dan
Dimitri
Similar Messages
-
(261680070) Q SYNCH-11 How do my web service methods accees EJBs and java classes?
A<SYNCH-11> How do my web service methods accees EJBs and java classes?
A<SYNCH-11> It is simple to use java classes, just do it as you would ordinarily.
The .jws file really contains a simple class so you can program with it in the same
way that you would use a regular Java class.
To use an EJB you can go and access it directly as you would with any EJB remote
client (lookup home stub, create, etc) or if the EJB is deployed to WLS you can use
a control to provide a very simple wrapper to the EJB. We will see this in detail
on Thursday in the ADVC module.Futher information about the possibility of callback:
It may be possible for a synchronous only web service (i.e. MS .net) to even paticipant
in the callback functionality of asynchronous web services. If the client implements
the appropriate methods for the callback but listens for them on a different port
or binding than the SOAP request, then web service may be able to build a response
if the client's "callback URL" is submitted as the beginning part of a conversation.
Watch the BEA developer forum (http://dev2dev.bea.com) for more information about
this approach and other tips and techniques for building web services.
"Adam FitzGerald" <[email protected]> wrote:
>
Q<SYNCH-03> I heard that MS .net only implements synchrnonus method? If
this is true.
Does it means my async methods will only work with J2EE clients?
A<SYNCH-03> I do not know the limitations of .net but let me point out that
is very
difficult to provide asynchronous web service method invocation (this is
different
from an asynchronous web service). HTTP as a general communication protocol
is based
on a request and response paradigm so your client libraries will mostly
likely be
expecting a response even if it is empty (check the asynchronous example
from today
to see that the start method still returns an empty response). You must
distinguish
this from the notion of an asynchronous web service which is a business
operation
that occurs on the server whose return value/result is not directly associated
with
building response to the client. An asynchronous web service can (and generally
will)
be started and stopped with web service operations that are invoked synchronously.
Thus MS .net clients can still be client to WLS hosted web services. -
Web Service from an EJB with an Java Bean: createSAXParseException
Hi I am using Together to develop Web Services from an EJB+a Java Bean.
I used the Trader Example, which includes an EJB + a Java Bean.
Running the utility "ant" I get the following exception:
"C:\bea\jdk131\jre\lib\rt.jar;C:\bea\jdk131\lib\rt.jar;c:\bea\wlserver6.1\lib\weblogic.jar;C:\Programme\Together5.5\lib\javax.jar;;"
org.apache.tools.ant.Main
WLS61: Error at line:6 col:12 ':' Already got a ':' in name
WLS61: at weblogic.xml.babel.baseparser.SAXElementFactory.createSAXParseException(SAXElementFactory.java:60)
WLS61: at weblogic.xml.babel.parsers.StreamParser.<init>(StreamParser.java:45)
WLS61: at weblogic.xml.babel.parsers.BabelXMLEventStream.startDocument(BabelXMLEventStream.java:28)
WLS61: at weblogic.soap.WebServiceProxy.getXMLStream(WebServiceProxy.java:600)
WLS61: at weblogic.soap.WebServiceProxy.getXMLStream(WebServiceProxy.java:577)
WLS61: at weblogic.soap.WebServiceProxy.getServiceFrom(WebServiceProxy.java:225)
WLS61: at weblogic.ant.taskdefs.ejb.WSGenHelper.writeClientJar(WSGenHelper.java:1125)
WLS61: at weblogic.ant.taskdefs.ejb.WSGenHelper.writeWSDL(WSGenHelper.java:1285)
WLS61: at weblogic.ant.taskdefs.ejb.WSGenHelper.saveDescriptors(WSGenHelper.java:1418)
WLS61: at weblogic.ant.taskdefs.ejb.WSGenHelper.output(WSGenHelper.java:1486)
WLS61: at weblogic.ant.taskdefs.ejb.WSGenHelper.doit(WSGenHelper.java:1520)
WLS61: at weblogic.ant.taskdefs.ejb.WSGen.execute(WSGen.java:93)
WLS61: at org.apache.tools.ant.Target.execute(Target.java:153)
WLS61: at org.apache.tools.ant.Project.runTarget(Project.java:898)
WLS61: at org.apache.tools.ant.Project.executeTarget(Project.java:536)
WLS61: at org.apache.tools.ant.Project.executeTargets(Project.java:510)
WLS61: at org.apache.tools.ant.Main.runBuild(Main.java:421)
WLS61: at org.apache.tools.ant.Main.main(Main.java:149)
WLS61: Buildfile: build.xml
WLS61:
WLS61: wsgen:
WLS61:
WLS61: BUILD SUCCESSFUL
WLS61:
WLS61: Total time: 7 seconds
WLS61: Finished with 19 Errors, 0 Warnings.Hi,
try these links
http://www.baigzeeshan.com/2010/11/creating-webservice-from-java-class-in.html
http://www.baigzeeshan.com/2010/11/calling-webservice-in-oracle-adf-by.html
Hope it help,
Zeeshan -
How to wrap a Web Service around an EJB ?
Hi all!
I need to generate a WSDL file for my EJB because I need to expose them as service on the Enterprise Service Bus.
Does anybody know how to wrap a Web Service on an EJB so that I have a WSDL file for the EJB ?
Hoep I was clear
Thanks
Francesco>>Please can someone suggest if an empty SOAP request can be processed
When you are creating your Message interface,you would be using Input/Output Messages.
These are either Message Types which you would have defined or you would have got WSDL from sender system,right.
Now in these message type or WSDL if you have described your elements as occurence from 0-unbounded,it will let you pass an empty payload,but if any of the field is mandatory,it will throw an error.
Yu can not leave Input/Output Message type empty when creating Message Interface,there should be some message structure there,could be a dummy one
Thanks
Aamir -
Support for xs:date types in web services generated from EJB components
I need to generate a Web Service from an EJB session bean based upon EJB entities generated from the Oracle 11g database that contain DATE type columns.
JDeveloper creates java.sql.Timestamp types in the EJB Session bean and this results in an exception error when I try to generate a web service from this bean via webservice annotations:
java.security.PrivilegedActionException: com.sun.xml.bind.v2.runtime.IllegalAnnotationsException: 1 counts of IllegalAnnotationExceptions
java.sql.Timestamp does not have a no-arg default constructor
I expected the web service wizard to generate argument types xs:dateTime or xs:date so this was an unwelcomed surprise.
I tried manually adding a method to the session bean with java.util.date arguments and had no problems with the web service wizard that correctly created xs:dateTime arguments. Is there any particular reason why the EJB wizard does not generate java.util.date arguments or handle java.sql.Timestamp without failing with an exception?
Since I begin with database tables and generate EJB entity classes and then web services with the Jdeveloper wizards it seems to me that there is a problem here in JDeveloper. Would you agree?
There are several possible more or less appealing workarounds, such as doing manually adding methods to the EJB facade with java.util.date arguments and doing the conversion from/to java.sql.timestamp manually. Is this a reasonable approach or does JDeveloper support date/time for Date columns in some other way that I have missed?
Very Grateful for any comments or suggestions.
Edited by: user10601664 on May 2, 2009 1:14 PM
Edited by: user10601664 on May 2, 2009 1:43 PMCheckout this example:
http://www.manojc.com/?sample3
public class HelloWorldService{
* @wlws:exclude
public void dontExpose(){
Regards,
-manoj
http://manojc.com
"Jacob Anderson" <[email protected]> wrote in message
news:4036581e$[email protected]..
>
hello,
I created the descriptor file for a web service that had a protectedmethod in
it and noticed the protected method showed up in the descriptor file!Should
the "source2wsdd" task only output PUBLIC methods as service actions? Isthere
any way to specify methods to be 'ignored' when generating the webservices descriptor
file?
here was the generated descriptor XML:
<web-service name="BindingService"
protocol="https"
style="document"
targetNamespace="http://www.foo.com/ws/BindingService/"
portName="BindingServicePort"
uri="/BindingService"
portTypeName="BindingServicePort">
<types>
</types>
<wsdd:type-mappingxmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:wsdd="http://www.bea.com/servers/wls70">
<wsdd:type-mapping-entrydeserializer="weblogic.xml.schema.binding.internal.builtin.DocumentCodec"
type="xsd:anyType"
class-name="org.w3c.dom.Document"
serializer="weblogic.xml.schema.binding.internal.builtin.DocumentCodec">
</wsdd:type-mapping-entry>
</wsdd:type-mapping>
<components>
<java-class name="BindingService"
class-name="com.arrow.ws.vendor.BindingService">
</java-class>
</components>
<operations>
<operation name="getConfigName"
component="BindingService"
method="getConfigName()">
<params>
<return-param xmlns:typeNS="http://www.w3.org/2001/XMLSchema"
location="body"
type="typeNS:string"
name="result"
class-name="java.lang.String">
</return-param>
</params>
</operation>
</operations>
</web-service> -
Test web service proxy using EJB session bean client...
Hello!
I am following this blog /people/abdelmorhit.elrhazi/blog/2009/10/30/how-to-consume-an-inbound-backend-web-service-in-nwdsjboss-environment to create a EJB session bean client to access the web service proxy...
The blog is not very clear. Where should I be deploying the web service proxy and the EJB session bean (web service client) ? on the PI 7.1 ?
How to find out the URL for the wsdl ?
Thanks> The blog is not very clear. Where should I be deploying the web service proxy and the EJB session bean (web service client) ? on the PI 7.1 ?
"To deploy your web service proxy and session bean, right click on your JBoss server in the Servers view, and click on Add Remove Projects, add you ear file and click finish."
You need a JBoss server. -
Web Services - Servlets vs EJBs
Hi,
Looking for any suggestions about the benefits of using either servlets or EJBs as web service endpoints. Very early in the design of any application, I wish to expose my business logic components as web services, is there any particular benefit to using a specific approach (i.e. using either EJBs or Servlets as the end points of the web services exposing the business logic)?
This is a totally new application so I have no considerations towards reusing old EJB code, etc. My initial thoughts favour using servlets, if only because it reduces the complexity / resources required for the application server (i.e only Web-container required, rather than Web & EJB container).
Any thoughts please?Why do Servlets not scale as well? Surely they are
more "lightweight" than an EJB (which has all theRMI
overhead), and wouldn't it ultimately be down tothe
underlying app server anyway?Right, but servlets are just HTTP request listeners.
They aren't components, they aren't transactional,
they don't handle persistence, they don't have
naming services, they don't have queuing services.
The EJB container offers you a lot.
With that said, it's not just a choice between
servlets and EJBs. You can use POJOs and avoid EJBs
altogether if you do it right.
Or choose the best of both worlds and mix 'n match as needed.
Noone forces you to choose one over the other (at least not for any technical reasons, I'm not diving into corporate politics here).
My thought was that web services were a better wayto
expose business logic than EJBs, but if there some
solid reason why this isn't the case I like toknow.
Web services - lightweight? Maybe that's true of
REST, but certainly not SOAP. There's an argument
that says services are more heavyweight than EJBs,
because all the XML on the wire is an expensive
protocol.
SOAP is heavy on the network, but it's essentially a rather thin layer on top of other services (if properly architected).
For example we have a SOAP layer exposing a Spring application which proxies an EJB architecture.
Next to that SOAP layer sits a traditional web application (servlets) which itself has a Spring application sitting on top of it for demonstration and testing purposes.
And then there's an SDK allowing direct access to the Spring layer (and thus almost direct access to the EJB layer).
That's the beauty of a true open architecture, each component can be built on top of another and the component underneath can function just fine without it.
Look into Spring:
http://www.springframework.org
It's a lighter alternative to EJBs, and good plumbing
for any Java EE app.While Spring can serve as an alternative for EJB in places where EJB are overkill it's of course not in competition with it.
Spring is a service layer, making use of other technologies (like EJB, like AOP, like ORM) to provide data and other services (like Struts, like JSF, like JSP) to provide that data to requesters. -
Deploying a VB dll using some web service and accessing it through java
I'm new to Web Services Based Programming. I would like to know whether this is possible and if so has anyone tried it. I want to create a vb dll that contains the remote methods that the client will access from a java program. After going thru a lot of articles, I'm still unsure on how to do this. I found one method was to Create a VB program/dll, deploy it in a web service and create the java program that accesses by another web service.
I'm doing this as part of my lab syllabus. The thing is My lab exercises do not state anything about the technologies that I can use to do this.
This is all that is stated there:-
Creation Of DLL Using VB And Deploy it in Java
I just cant get any ideas other than deploying both the parts as web services. If anyone has Better ideas for this, I would really appreciate it.
I dont know anything about CORBA for languages other than Java and I'm already using the servlets and EJB's in my normal life. I'm also learning the ORB based programming in java. Therefore your help will probably help me learn something new then what I know.Sorry I wasn't too specific in my last question.
This is my java class calling the native method print
//HeyWorld.java
class HeyWorld {
private native void print();
public static void main(String[] args) {
new HeyWorld().print();
static {
System.loadLibrary("HeyWorld");
In this case, my C method for calling a C++ method: HelloWorld.cpp
#include "jni.h"
#include "stdio.h"
#include "stdafx.h"
#Include "HeyWorld.h" //this is where i get my function prototype
#include "Test.h" //this is the C++ header where the print method and the Test class is
JNIEXPORT void JNICALL
Java_HeyWorld_print(JNIEnv *env, jobject obj)
CTest a; //CTest is the print class I created
a.print();
//This is the header for Test.h
class CTest: public CWinApp
public:
CTest(); //constructor
void print(); //our method
//And this is the implementation of the class Test.cpp
void CTest::print()
printf("Hey World!\n");
return ;
I could compile the Test.cpp, HeyWorld.cpp successfully. However when I tried to compile HeyWorld.cpp using
cl -I<path of jdk include> -I<path of jdk include win32> -LD HeyWorld.cpp -FeHeyWorld.dll,
the VC++ 6.0 compiler gave me this error:
HeyWorld.obj:error LNK2001: unresolved external symbol "public:_thiscall CTest::CTest(void)"
HeyWorld.obj:error LNK2001: unresolved external symbol "public:_thiscall CTest::print(void)"
Thanks for the help. -
Creating a web service from existing EJB. HELP!!!
I have an existing EJB deployed to WL which I want to call as a web service. I do not want to deploy everything in an EAR - I want to use the existing EJB.
Basically I just created a new web module and put my web-services.xml (and web.xml) in WEB-INF and deployed it.
The web-services.xml looks like this:
<?xml version="1.0" encoding="UTF-8"?>
<web-services>
<web-service useSOAP12="false" exposeWSDL="true" targetNamespace="http://www.fxf.com/test/services" name="ProtoService" style="rpc" uri="/ProtoService" ignoreAuthHeader="false">
<components>
<stateless-ejb name="ejbcomp0">
<jndi-name path="ejb/ProtoService"/>
</stateless-ejb>
</components>
<operations>
<operation name="protoOneMethodOne" method="protoOneMethodOne" component="ejbcomp0">
</operation>
</operations>
</web-service>
</web-services>
When I deploy my web project WL throws an exception. Here is part of the stack trace:
<Feb 23, 2005 8:56:14 AM MST> <Error> <HTTP> <BEA-101216> <Servlet: "WebServiceServlet" failed to preload on startup in Web application: "efs".
javax.servlet.ServletException: ERROR: The EJB component named: ejbcomp0 specified a JNDI name: ejb/TransitRequest, but this JNDI name does not refer to a stateless session EJB.
at weblogic.webservice.server.servlet.WebServiceServlet.initLocal()V(WebServiceServlet.java:132)
at weblogic.webservice.server.servlet.WebServiceServlet.init()V(WebServiceServlet.java:86)
at javax.servlet.GenericServlet.init(Ljavax.servlet.ServletConfig;)V(GenericServlet.java:258)
at weblogic.servlet.internal.ServletStubImpl$ServletInitAction.run()Ljava.lang.Object;(ServletStubImpl.java:1018)
at weblogic.security.acl.internal.AuthenticatedSubject.doAs(Lweblogic.security.subject.AbstractSubject;Ljava.security.PrivilegedAction;)Ljava.lang.Object;(AuthenticatedSubject.java:321)
at weblogic.security.service.SecurityManager.runAs(Lweblogic.security.acl.internal.AuthenticatedSubject;Lweblogic.security.acl.internal.AuthenticatedSubject;Ljava.security.PrivilegedAction;)Ljava.lang.Object;(SecurityManager.java:118)
at weblogic.servlet.internal.ServletStubImpl.createServlet()Ljavax.servlet.Servlet;(ServletStubImpl.java:894)
at weblogic.servlet.internal.ServletStubImpl.createInstances()V(ServletStubImpl.java:873)
at weblogic.servlet.internal.ServletStubImpl.prepareServlet(Lweblogic.servlet.internal.RequestCallback;)V(ServletStubImpl.java:812)
at weblogic.servlet.internal.WebAppServletContext.preloadServlet(Ljava.lang.String;)V(WebAppServletContext.java:3281)
at weblogic.servlet.internal.WebAppServletContext.preloadServlets()V(WebAppServletContext.java:3226)
at weblogic.servlet.internal.WebAppServletContext.preloadResources()V(WebAppServletContext.java:3207)
at weblogic.servlet.internal.WebAppServletContext.setStarted(Z)V(WebAppServletContext.java:5737)
at weblogic.servlet.internal.WebAppModule.start()V(WebAppModule.java:874)
I'm sure that my EJB is a stateless session bean. Looking at the deployed EJB in the console confirms it.
I cannot figure out what WL is upset about.
Does anyone have any advice or know of any resoures on using an existing EJB via a webservice in WL? I did not find any sort of guide, I just pieced this approach together. It seems like it should work, but I'm stuck on this problem.
I really appreciate any help or advice.
Thanks,
MattUsing <autotype> and <source2wsdd> to generate what I need. Now WL seems happy.
-
Security with Web Service calling some EJBs
Hi everybody,
I have implemented some web services residing in a war file deployed on my Tomcat. The web services module is a client to some EJBs deployed on my JBoss. I need to log the user in my realm on each WS request and log the user out before the WS response.
I have implemented security on web applications with JBoss and used JAAS realms succesfully but what do I do in this case with Web Services? I mean the requests are stateless. If I use the org.jboss.security.ClientLoginModule
won't this override the credentials of another user who is already logged in the realm?
I have also implemented a standalone application which spawns a thread for each user request and I am wondering about the same thing. This application is a service listening for some kind of messages; on a message the application should log the user in the realm before calling an EJB and log the user after the request is completed. So it's more or less the same situation as above.
Is this possible? I mean logging many users in the same realm in one non-web application?
Any ideas?
Thank you in advance!!!
thoismrequests are stateless, just as are requests to webapps.
Which is hardly surprising as a web services stack is typically implemented as a web application.
If you could log in only a single user at the same time to an EJB application, it would be rather pointless to have the application as a distributed multiuser system :)
What you might check is whether you're allowed to log in the same user several times, if I remember correctly this can be limited in the EJB module deployment descriptors. -
Web-services.xml for EJB component and SOAP Message Handler Chain
I have used the following example for my own web service with EJB component and SOAP
Message Handler Chain:
http://e-docs.bea.com/wls/docs70/webServices/dd.html#1058208
I have a deployment error:
javax.naming.NameNotFoundException: Unable to resolve 'app/ejb/DocumentService.j
ar#DocumentService/home' Resolved: 'app/ejb' Unresolved:'DocumentService.jar#Doc
umentService' ; remaining name 'DocumentService.jar#DocumentService/home'
In attachement is the ear file.
Is there a problem in web-services.xml?
Thanks
[ws_dox_sdi.ear]It works. Thanks,
Ioana
"Neal Yin" <[email protected]> wrote:
The error means your EJB is not deployed.
Adding a EJB module to your application.xml file of the ear should fixe
it.
<application>
<display-name />
<module>
<web>
<web-uri>dox_sdi.war</web-uri>
</web>
</module>
<module>
<ejb>DocumentService.jar</ejb>
</module>
</application>
"Ioana Meissner" <[email protected]> wrote in message
news:3cf640cc$[email protected]..
I have used the following example for my own web service with EJBcomponent and SOAP
Message Handler Chain:
http://e-docs.bea.com/wls/docs70/webServices/dd.html#1058208
I have a deployment error:
javax.naming.NameNotFoundException: Unable to resolve'app/ejb/DocumentService.j
ar#DocumentService/home' Resolved: 'app/ejb'Unresolved:'DocumentService.jar#Doc
umentService' ; remaining name 'DocumentService.jar#DocumentService/home'
In attachement is the ear file.
Is there a problem in web-services.xml?
Thanks -
Hi all,
I got the problem with web services access from Sun Java Studio Creator 2 (Update1).
When I try to access Web Service without using "Add new web service " wizard I get the raised FacesException(Chain of exceptions is: FacesException<-EvaluationException<-ExceptionInInitializerError). But the same code works fine as a stand-alone desktop applciation (for example, using Eclipse IDE).
Here is "code snippet":
AuthenticationServiceLocator authLocator = new AuthenticationServiceLocator();
AuthenticationServicePort authService = authLocator.getAuthenticationServicePort(new URL(connectionUri + "/AuthenticationService"));
((Stub) authService).setMaintainSession(true);Exception is thrown on the 1st string.
P.S. It there is a need, I can send the full code.The problem was solved.
I didn't use "Add Web Service" wizard, 'cause it didn't work (see above, I wrote about it).
The problem with AXIS was concerned with Sun Application Server permissions. I added permissions for class loading and AXIS started to work. -
Web services - problem accessing xsld
Using BIPEE standalone 10.1.3.3.
I would like to play around with BIP PublicReportService web service but I might be missing a set up step. The BIP manual says "
After you have installed or deployed Oracle BI Publisher, there is a unique URL
associated with PublicReportService:
http://<host>:<port>/xmlpserver/services/PublicReportService?wsdl
Enter this URL in your browser, substituting in the correct host and port number, to
display the full Web Service Description Language definition for the publicly supported
BI Publisher Web service."
But when I navigate to this web page (substituting host & port), I get the following message from Firefox:
AXIS error
Sorry, something seems to have gone wrong... here are the details:
Fault - ; nested exception is:
java.lang.ClassCastException: com.ibm.wsdl.extensions.soap.SOAPFaultImpl
AxisFault
faultCode: {http://schemas.xmlsoap.org/soap/envelope/}Server.userException
faultSubcode:
faultString: java.lang.ClassCastException: com.ibm.wsdl.extensions.soap.SOAPFaultImpl
faultActor:
faultNode:
faultDetail:
{http://xml.apache.org/axis/}hostname:quad.ithaca.edu
So wondering if there is an additional set up step that we might be missing to get this web service running.
Thanks
ToddMake sure you are on SP 3:
https://smpdl.sap-ag.de/~sapidp/012002523100007123572010E/cr2008_sp3.exe
Look up the runtime here:
http://service.sap.com/sap/bc/bsp/spn/bobj_download/main.htm
Use [Process Monitor|http://technet.microsoft.com/en-ca/sysinternals/bb896645.aspx] to determine what permissions are being denied.
Ludek
Follow us on Twitter http://twitter.com/SAPCRNetSup
Got Enhancement ideas? Try the [SAP Idea Place|https://ideas.sap.com/community/products_and_solutions/crystalreports] -
Web-Service Proxy and Web-Service Client access in a Bean (EJB 3.0)
Hello Community,
i want to access the SAP Knowledge-Management via the Webservice "RepositoryFrameworkWS", which resides on our Portal-System, from my Java-Application, which runs on a NW CE 7.11 Ehp1 Java Server.
I choosed to create a WS-Client as a deployable client. So i created an Bean Project, imported the WSDL and created a WS-Proxy in that project. Additionaly i added some beans to that Bean-Project which use the WS-Proxy to access the KM.
So far so good.
But the WSDL also creates a Service-Endpoint, which already has an url for the WS-Target and Authentication-Information (in my case it seems that no Authentication is active) in its body.
Because my client shell run on different systems in the future i searched for a way to easiliy deploy my application and adapt target-information elsewhere. I found in the documentation, that after deploying the deployable WS-Proxy/Client this can be done in the NW-Administrator under SOA-Management->Application and Scenario Communication->Single Service Administration.
To my surprise i found my deployed WS there. And the entry for the there listed Port was configurable. But unfortunatly this customization is ignored by the application. For example i changed authentication to a HTTP-Authentication with a specific user and also changed to Target-URL. But with no success.
What's wrong here?
i accessed the WS in my bean in the following way:
public Class xyz
@WebServiceRef (name="RepositoryFrameworkWS")
RepositoryFrameworkWS service;
RepositoryFrameworkWSViDocument vi = service.getPort(RepositoryFrameworkWSViDocument.class);
vi.findResources(rid,....)
regards
Matthias Hayk
Edited by: Matthias Hayk on Sep 15, 2009 10:13 AMHi Matthias
In Single Service Administration there are two views: Webservices and WS Clients configurations. First of all you should enable BASIC HTTP authentication in WS configuration. Then go to WS Client configuration and enter user/password in HTTP BASIC authentication settings.
Hope this help.
BR, Siarhei -
I am trying to set up the Orchestrator Connector for Service Manager, when running the test, I get the error
<h2>401 - Unauthorized: Access is denied due to invalid credentials.</h2>
<h3>You do not have permission to view this directory or page using the credentials that you supplied.</h3>
The account I am using is the system account for Service Manager. I have added that account to the local admin group on the Orchestrator server as well as the Orchestrator admin group. But to no avail.
Now when I am logged on to the Orchestrator server locally with my account, I can access the Orchestration Console with no problem, however when I try to connect to it remotely using my account, it will not accept my credentials. I need to sort this out,
can anyone help?
Paul ArbogastI found the solution, using the IIS Manager I changed the Windows authentication providers by moving NTLM above negotiate.
Paul Arbogast
Maybe you are looking for
-
I have windows 8 and have downloaded and installed adobe aution cc but can't find it. Everything I click takes me to the web site download page again. I have Audition CS5.5 on the old laptop - can I upgrade this? Can I buy an upgrade? Do I have to pa
-
Problem in assigning field symbol to a nested internal table
Hi All, I have searched the forum but could not find a solution to this problem. I have a requirement where I need to define an internal table within an internal table, so I have used pointer within the outer internal table(itab2) which point to the
-
How can I install Office 2008 on my new MacBook Pro Retina?
I have a license key and a cd to install from, but no slot in my MacBook to insert the CD into. I heard I can download Office 2008 from the Microsoft website, can anyone supply me with a link to the download? Not the30-day trial, the full version. Ca
-
IPhone Photos App Photo Library has no Delete button
iPhone 4S iOS 6.1.3 Photos App Photo Library Album Pictures have no Delete button in the bottom right bottom corner like found in Camera Roll Album Pictures. How do I delete obsolescent photos on the iPhone Photo Library Album without sync deleting i
-
When I try to insert the google map widget, in the windows there is "mobileme is closed". How can resolve the problem? Thanks