Authorization for JAX-WS webservice
Hi, I am using weblogic 10.3.
For my JAX-WS web service I am using @Policy(uri = "policy:Wssp1.2-2007-Https-UsernameToken-Plain.xml") for security.
This policy authenticate all the users of default realm. But I want to restrict access to the users who belongs to a particular group only, How can I do this ?
I tried using @SecurityRole but still all users authorized. How can I enforce authorization for a JAX-Ws webservice ?
Thanks
~
What type of ws you are creating in WLS 10?
I think only doc-literal type of webservices are interopable between java and dotnet frameworks
Ali
Similar Messages
-
Https transport support for JAX-WS WebServices
Hi All ,
I am trying to implement JAX-WS WebServices that support https transport .To do so I added the following annotation *@Policy(uri = "policy:Wssp1.2-2007-Https-BasicAuth.xml)* in my Jws Implementation file for the JAX-WS WebServices but I got parsing error.Can anyone please confirm that JAX-WS supports the policy annotation in Impl file.If it is supported can a link/pointer/example could be given to implement https enabled JAX-WS WebService and the required configuration in wsdl file.
Thanks and RegardsIt does but you've specified a policy that uses both HTTPS and basic HTTP authentication. If you require just HTTPS use "Wssp1.2-Https.xml". In turn you must enable the SSL port on the WLS server. See this blog post: http://one-size-doesnt-fit-all.blogspot.com/2009/02/enabling-ssl-and-disabling-non-ssl_17.html
If you use JDev to generate the JAX-WS web services, given the policy annotation JDev willl put the policy in the WSDL file appropriately.
CM. -
Policy Annotation in WebServices Impl file for JAX-WS WebServices
Hi All ,
I am trying to implement JAX-WS WebServices that support https transport .To do so I added the following annotation *@Policy(uri = "policy:Wssp1.2-2007-Https-BasicAuth.xml)* in my Jws Implementation file for the JAX-WS WebServices but I got parsing error.Can anyone please confirm that JAX-WS supports the policy annotation in Impl file.If it is supported can a link/pointer/example could be given to implement https enabled JAX-WS WebService and the required configuration in wsdl file.
Thanks and RegardsFor 11g, install the examples with a custom installation (have to specify that check mark that is not checked by default).
The look here:
<MIDDLEWARE_HOME>\wlserver_10.3\samples\server\examples\src\examples\webservices\wss1.1 -
I am trying to upload a file using JAX-WS webservice which is deployed on the weblogic 10.3.5 server.Even before the code reaches the Service Endpoint lot of time is being spent at the weblogic layer. for files less than 10MB the performance is good but for files greater than 10 MB it takes around 3 mins to complete the request. I did take thread dumps and I see the thread servicing the requests is taking lot of time when executing SAX2DOMEx.characters it consumes around 80 -85 % of time here. Is there anything that I can do to improve the performance here ?
"[ACTIVE] ExecuteThread: '0' for queue: 'weblogic.kernel.Default (self-tuning)'" id=37 idx=0x90 tid=16848 prio=5 alive, suspended, native_blocked, daemon
at jrockit/vm/Allocator.allocLargeObjectOrArray(JIZ)Ljava/lang/Object;(Native Method)
at jrockit/vm/Allocator.allocObjectOrArray(Allocator.java:349)[optimized]
at jrockit/vm/StringMaker.toString(StringMaker.java:188)[inlined]
at com/sun/org/apache/xerces/internal/dom/CharacterDataImpl.appendData(CharacterDataImpl.java:191)[optimized]
at com/sun/xml/bind/marshaller/SAX2DOMEx.characters(SAX2DOMEx.java:218)[inlined]
at com/sun/xml/bind/marshaller/SAX2DOMEx.characters(SAX2DOMEx.java:209)[optimized]
at com/sun/xml/ws/message/SAX2DOMWriterEx.writeCharacters( .java:108)
at com/sun/xml/ws/util/xml/XMLStreamReaderToXMLStreamWriter.handleCharacters(XMLStreamReaderToXMLStreamWriter.java:153)
at com/sun/xml/ws/util/xml/XMLStreamReaderToXMLStreamWriter.bridge(XMLStreamReaderToXMLStreamWriter.java:114)
at com/sun/xml/ws/message/stream/StreamMessage.writePayloadTo(StreamMessage.java:313)
at com/sun/xml/ws/message/stream/StreamMessage.writeEnvelope(StreamMessage.java:343)
at com/sun/xml/ws/message/stream/StreamMessage.writeTo(StreamMessage.java:321)
at com/sun/xml/ws/message/AbstractMessageImpl.readAsSOAPMessage(AbstractMessageImpl.java:226)
at com/sun/xml/ws/handler/SOAPMessageContextImpl.getMessage(SOAPMessageContextImpl.java:87)
at weblogic/wsee/jaxws/framework/jaxrpc/SOAPMessageContext.getMessage(SOAPMessageContext.java:252)
at weblogic/wsee/security/wssp/handlers/WssHandler.getSecurityContext(WssHandler.java:318)
at weblogic/wsee/security/wssp/handlers/WssHandler.preValidate(WssHandler.java:420)
at weblogic/wsee/security/wssp/handlers/PreWssServerPolicyHandler.processRequest(PreWssServerPolicyHandler.java:25)
at weblogic/wsee/security/wssp/handlers/WssHandler.handleRequest(WssHandler.java:112)
at weblogic/wsee/jaxws/framework/jaxrpc/TubeFactory$JAXRPCTube.processRequest(TubeFactory.java:222)
at com/sun/xml/ws/api/pipe/Fiber.__doRun(Fiber.java:866)
at com/sun/xml/ws/api/pipe/Fiber._doRun(Fiber.java:815)
at com/sun/xml/ws/api/pipe/Fiber.doRun(Fiber.java:778)
at com/sun/xml/ws/api/pipe/Fiber.runSync(Fiber.java:680)
^-- Holding lock: com/sun/xml/ws/api/pipe/Fiber@0x83736a70[biased lock]
at com/sun/xml/ws/server/WSEndpointImpl$2.process(WSEndpointImpl.java:403)
at com/sun/xml/ws/transport/http/HttpAdapter$HttpToolkit.handle(HttpAdapter.java:532)
at com/sun/xml/ws/transport/http/HttpAdapter.handle(HttpAdapter.java:253)
at com/sun/xml/ws/transport/http/servlet/ServletAdapter.handle(ServletAdapter.java:140)
at weblogic/wsee/jaxws/WLSServletAdapter.handle(WLSServletAdapter.java:171)
at weblogic/wsee/jaxws/HttpServletAdapter$AuthorizedInvoke.run(HttpServletAdapter.java:708)
at weblogic/security/acl/internal/AuthenticatedSubject.doAs(AuthenticatedSubject.java:363)
at weblogic/security/service/SecurityManager.runAs(SecurityManager.java:146)
at weblogic/wsee/util/ServerSecurityHelper.authenticatedInvoke(ServerSecurityHelper.java:103)
at weblogic/wsee/jaxws/HttpServletAdapter$3.run(HttpServletAdapter.java:311)
at weblogic/wsee/jaxws/HttpServletAdapter.post(HttpServletAdapter.java:336)
at weblogic/wsee/jaxws/VerboseHttpProcessor.post(VerboseHttpProcessor.java:39)
at weblogic/wsee/jaxws/JAXWSServlet.doRequest(JAXWSServlet.java:98)
at weblogic/servlet/http/AbstractAsyncServlet.service(AbstractAsyncServlet.java:99)
at javax/servlet/http/HttpServlet.service(HttpServlet.java:820)
at weblogic/servlet/internal/StubSecurityHelper$ServletServiceAction.run(StubSecurityHelper.java:227)
at weblogic/servlet/internal/StubSecurityHelper.invokeServlet(StubSecurityHelper.java:125)
at weblogic/servlet/internal/ServletStubImpl.execute(ServletStubImpl.java:300)
at weblogic/servlet/internal/ServletStubImpl.execute(ServletStubImpl.java:183)
at weblogic/servlet/internal/WebAppServletContext$ServletInvocationAction.wrapRun(Lweblogic/servlet/internal/ServletStubImpl;Ljavax/servlet/http/HttpServletRequest;Ljavax/servlet/http/HttpServletResponse;)Ljava/lang/Object;(Unknown Source)
at weblogic/servlet/internal/WebAppServletContext$ServletInvocationAction.run()Ljava/lang/Object;(Unknown Source)
at weblogic/security/acl/internal/AuthenticatedSubject.doAs(AuthenticatedSubject.java:321)
at weblogic/security/service/SecurityManager.runAs(SecurityManager.java:120)
at weblogic/servlet/internal/WebAppServletContext.securedExecute(Ljavax/servlet/http/HttpServletRequest;Ljavax/servlet/http/HttpServletResponse;Z)V(Unknown Source)
at weblogic/servlet/internal/WebAppServletContext.execute(Lweblogic/servlet/internal/ServletRequestImpl;Lweblogic/servlet/internal/ServletResponseImpl;)V(Unknown Source)
at weblogic/servlet/internal/ServletRequestImpl.run()V(Unknown Source)
at weblogic/work/ExecuteThread.execute(ExecuteThread.java:209)
at weblogic/work/ExecuteThread.run(ExecuteThread.java:178)
at jrockit/vm/RNI.c2java(JJJJJ)V(Native Method)I am trying to upload a file using JAX-WS webservice which is deployed on the weblogic 10.3.5 server.Even before the code reaches the Service Endpoint lot of time is being spent at the weblogic layer. for files less than 10MB the performance is good but for files greater than 10 MB it takes around 3 mins to complete the request. I did take thread dumps and I see the thread servicing the requests is taking lot of time when executing SAX2DOMEx.characters it consumes around 80 -85 % of time here. Is there anything that I can do to improve the performance here ?
"[ACTIVE] ExecuteThread: '0' for queue: 'weblogic.kernel.Default (self-tuning)'" id=37 idx=0x90 tid=16848 prio=5 alive, suspended, native_blocked, daemon
at jrockit/vm/Allocator.allocLargeObjectOrArray(JIZ)Ljava/lang/Object;(Native Method)
at jrockit/vm/Allocator.allocObjectOrArray(Allocator.java:349)[optimized]
at jrockit/vm/StringMaker.toString(StringMaker.java:188)[inlined]
at com/sun/org/apache/xerces/internal/dom/CharacterDataImpl.appendData(CharacterDataImpl.java:191)[optimized]
at com/sun/xml/bind/marshaller/SAX2DOMEx.characters(SAX2DOMEx.java:218)[inlined]
at com/sun/xml/bind/marshaller/SAX2DOMEx.characters(SAX2DOMEx.java:209)[optimized]
at com/sun/xml/ws/message/SAX2DOMWriterEx.writeCharacters( .java:108)
at com/sun/xml/ws/util/xml/XMLStreamReaderToXMLStreamWriter.handleCharacters(XMLStreamReaderToXMLStreamWriter.java:153)
at com/sun/xml/ws/util/xml/XMLStreamReaderToXMLStreamWriter.bridge(XMLStreamReaderToXMLStreamWriter.java:114)
at com/sun/xml/ws/message/stream/StreamMessage.writePayloadTo(StreamMessage.java:313)
at com/sun/xml/ws/message/stream/StreamMessage.writeEnvelope(StreamMessage.java:343)
at com/sun/xml/ws/message/stream/StreamMessage.writeTo(StreamMessage.java:321)
at com/sun/xml/ws/message/AbstractMessageImpl.readAsSOAPMessage(AbstractMessageImpl.java:226)
at com/sun/xml/ws/handler/SOAPMessageContextImpl.getMessage(SOAPMessageContextImpl.java:87)
at weblogic/wsee/jaxws/framework/jaxrpc/SOAPMessageContext.getMessage(SOAPMessageContext.java:252)
at weblogic/wsee/security/wssp/handlers/WssHandler.getSecurityContext(WssHandler.java:318)
at weblogic/wsee/security/wssp/handlers/WssHandler.preValidate(WssHandler.java:420)
at weblogic/wsee/security/wssp/handlers/PreWssServerPolicyHandler.processRequest(PreWssServerPolicyHandler.java:25)
at weblogic/wsee/security/wssp/handlers/WssHandler.handleRequest(WssHandler.java:112)
at weblogic/wsee/jaxws/framework/jaxrpc/TubeFactory$JAXRPCTube.processRequest(TubeFactory.java:222)
at com/sun/xml/ws/api/pipe/Fiber.__doRun(Fiber.java:866)
at com/sun/xml/ws/api/pipe/Fiber._doRun(Fiber.java:815)
at com/sun/xml/ws/api/pipe/Fiber.doRun(Fiber.java:778)
at com/sun/xml/ws/api/pipe/Fiber.runSync(Fiber.java:680)
^-- Holding lock: com/sun/xml/ws/api/pipe/Fiber@0x83736a70[biased lock]
at com/sun/xml/ws/server/WSEndpointImpl$2.process(WSEndpointImpl.java:403)
at com/sun/xml/ws/transport/http/HttpAdapter$HttpToolkit.handle(HttpAdapter.java:532)
at com/sun/xml/ws/transport/http/HttpAdapter.handle(HttpAdapter.java:253)
at com/sun/xml/ws/transport/http/servlet/ServletAdapter.handle(ServletAdapter.java:140)
at weblogic/wsee/jaxws/WLSServletAdapter.handle(WLSServletAdapter.java:171)
at weblogic/wsee/jaxws/HttpServletAdapter$AuthorizedInvoke.run(HttpServletAdapter.java:708)
at weblogic/security/acl/internal/AuthenticatedSubject.doAs(AuthenticatedSubject.java:363)
at weblogic/security/service/SecurityManager.runAs(SecurityManager.java:146)
at weblogic/wsee/util/ServerSecurityHelper.authenticatedInvoke(ServerSecurityHelper.java:103)
at weblogic/wsee/jaxws/HttpServletAdapter$3.run(HttpServletAdapter.java:311)
at weblogic/wsee/jaxws/HttpServletAdapter.post(HttpServletAdapter.java:336)
at weblogic/wsee/jaxws/VerboseHttpProcessor.post(VerboseHttpProcessor.java:39)
at weblogic/wsee/jaxws/JAXWSServlet.doRequest(JAXWSServlet.java:98)
at weblogic/servlet/http/AbstractAsyncServlet.service(AbstractAsyncServlet.java:99)
at javax/servlet/http/HttpServlet.service(HttpServlet.java:820)
at weblogic/servlet/internal/StubSecurityHelper$ServletServiceAction.run(StubSecurityHelper.java:227)
at weblogic/servlet/internal/StubSecurityHelper.invokeServlet(StubSecurityHelper.java:125)
at weblogic/servlet/internal/ServletStubImpl.execute(ServletStubImpl.java:300)
at weblogic/servlet/internal/ServletStubImpl.execute(ServletStubImpl.java:183)
at weblogic/servlet/internal/WebAppServletContext$ServletInvocationAction.wrapRun(Lweblogic/servlet/internal/ServletStubImpl;Ljavax/servlet/http/HttpServletRequest;Ljavax/servlet/http/HttpServletResponse;)Ljava/lang/Object;(Unknown Source)
at weblogic/servlet/internal/WebAppServletContext$ServletInvocationAction.run()Ljava/lang/Object;(Unknown Source)
at weblogic/security/acl/internal/AuthenticatedSubject.doAs(AuthenticatedSubject.java:321)
at weblogic/security/service/SecurityManager.runAs(SecurityManager.java:120)
at weblogic/servlet/internal/WebAppServletContext.securedExecute(Ljavax/servlet/http/HttpServletRequest;Ljavax/servlet/http/HttpServletResponse;Z)V(Unknown Source)
at weblogic/servlet/internal/WebAppServletContext.execute(Lweblogic/servlet/internal/ServletRequestImpl;Lweblogic/servlet/internal/ServletResponseImpl;)V(Unknown Source)
at weblogic/servlet/internal/ServletRequestImpl.run()V(Unknown Source)
at weblogic/work/ExecuteThread.execute(ExecuteThread.java:209)
at weblogic/work/ExecuteThread.run(ExecuteThread.java:178)
at jrockit/vm/RNI.c2java(JJJJJ)V(Native Method) -
Error in invoking JAX-WS webservice from a clientgen client from WL9.2
Hi,
I am getting error while trying to invoke a jax-ws webservice client from an application deployed in weblogic9.2. The client was created from clientgen task using ant and weblogic 9.2 jars. I get the error for data binding for a timestamp field. Now i understand that jax-ws is not comaptible with jax-ws but there must be some way to do that. Any pointers would be helpful. I could not get anything useful so please use thsi post for same and guide me.Try this to verify that your process on the SOA Suite is correct:
Use the tool SoapUI (open source) to execute a request based on the WSDL of your web service. If this is correct your process is working fine. SoapUI acts as a client to call your webservice via Soap.
If the call is working, then something on the webservice-client-proxy of the third-party is wrong. Try to find out what they send as soap request.
Regards,
Marc
http://orasoa.blogspot.com -
How to send order details to third party in JAX-WS webservice
Hi all,
I want to send all the order details to third party after an order placed. I have already created a pipeline link after sendFulfillmentMessage in processOrder.
orderId, profileId, submittedDate has been sent but how to send all the order details to the third party. I am using JAX-WS Webservice wsdl
Edited by: 958573 on Sep 12, 2012 2:39 PMJust asking that why can't you use ATG web-services which can be consumed by third party. ATG provides OOB web-services for various commerce operations along with handling repository and personalization. You would have to include modules like DAS.WebServices, DPS.WebServices and DCS.WebServices depending upon what services you want to expose. You can then use ATG provided WSDL to write your client/consumer for external applications.
-
Jwsc Error - Only HTTP ports are supported for JAX-WS
Hi
I am trying to create a Webservice from wsdl. I have been able to generate java files and jar file with wsdlc ant task.
However when i try jwsc I get follwoing error
[jwsc] [ERROR] - Only HTTP ports are supported for JAX-WS.
<----- follwowing task for generating java files --->
<taskdef name="wsdlc" classname="weblogic.wsee.tools.anttasks.WsdlcTask"/>
<target name="generate-from-wsdl">
<wsdlc
srcWsdl="wsdl_files/UserPrefWebService.wsdl"
destJwsDir="web/web-inf/lib"
destImplDir="src"
packageName="com.ws.userpref"
type="JAXWS"/>
</target>
<----- follwowing task for generating class files ----THIS IS FAILING --->
<taskdef name="jwsc" classname="weblogic.wsee.tools.anttasks.JwscTask" />
<target name="build-service">
<jwsc srcdir="src" destdir="ear">
<jws file="com/ws/userpref/UserPrefWebServiceImpl.java"
compiledWsdl="web/web-inf/lib/UserPrefWebService_wsdl.jar"
type="JAXWS"/>
</jwsc>
</target>
<----- This is the Error --->
C:\Development\CFCDemoWorkspace\UserPreferencesServer>ant build-service
Buildfile: build.xml
build-service:
[jwsc] JWS: processing module /com/ws/userpref/UserPrefWebServiceImpl
[jwsc] Parsing source files
[jwsc] Parsing source files
[jwsc] 1 JWS files being processed for module /com/ws/userpref/UserPrefWebS
erviceImpl
[jwsc] C:\Development\CFCDemoWorkspace\UserPreferencesServer\src\com\ws\use
rpref\UserPrefWebServiceImpl.java 18:8
[jwsc] [ERROR] - Only HTTP ports are supported for JAX-WS.
[AntUtil.deleteDir] Deleting directory C:\DOCUME~1\138904\LOCALS~1\Temp\_3os716
BUILD FAILED
C:\Development\CFCDemoWorkspace\UserPreferencesServer\build.xml:24: weblogic.wse
e.tools.WsBuildException: JWS Validation failed.
Total time: 10 seconds
Does any one has any input on this error?
Thanks
SrikantThanks David,
Below is the wsdl
<s0:message name="ws_getUserPreference">
<s0:part element="s1:ws_getUserPreference" name="parameters"/>
</s0:message>
<s0:message name="ws_getUserPreferenceResponse">
<s0:part element="s1:ws_getUserPreferenceResponse" name="parameters"/>
</s0:message>
<s0:portType name="UserPrefWebServicePort">
<s0:operation name="ws_getUserPreference" parameterOrder="parameters">
<s0:input message="s1:ws_getUserPreference"/>
<s0:output message="s1:ws_getUserPreferenceResponse"/>
</s0:operation>
</s0:portType>
<s0:binding name="UserPrefWebServiceSoapBinding" type="s1:UserPrefWebServicePort">
<s2:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
<s0:operation name="ws_getUserPreference">
<s2:operation soapAction="" style="document"/>
<s0:input>
<s2:body parts="parameters" use="literal"/>
</s0:input>
<s0:output>
<s2:body parts="parameters" use="literal"/>
</s0:output>
</s0:operation>
</s0:binding>
<s0:service name="UserPrefWebService">
<s0:port binding="s1:UserPrefWebServiceSoapBinding" name="UserPrefWebServicePortSoapPort">
<s2:address location="https://localhost:7001/UserPrefService/UserPref"/>
</s0:port>
</s0:service>
</s0:definitions>
do i need to add <wlhttptransport/> in jws during the buid? -
Handling Dates in JAX RPC Webservices
Im converting an old application over to the JAX RPC webservices. We have a situation where the server and the client use the same bean jar file. When I connect up to my webservice the beans it dumps out have XMLGregorianCalendar as their datatype, if I try to feed this back to use this in the webservice, I have all sorts of issues for one, it's not serializable. So, how should I handle dates that I need to have the same datatype on the client and server?
Hi.
check following hope you will help
http://blogs.oracle.com/wssi/entry/introduction_to_oracle_web_services -
List of StringArray as a return to jax-ws webservice
i have a jax-ws webservice with a method querydb returning a multidimensional string array String[][], my problem is how can i display the return values of my webservice.
when i try this:
String[][] a=(String[][]) port.query("metals","sntlaws"); it returns incompatible type error.
if i test my webservice on Sun application Server it says
Method returned
java.util.List : "[net.java.dev.jaxb.array.StringArray@d8615f, net.java.dev.jaxb.array.StringArray@1e0be0d, net.java.dev.jaxb.array.StringArray@1dd55c7, net.java.dev.jaxb.array.StringArray@2a9c92, net.java.dev.jaxb.array.StringArray@18d6483, net.java.dev.jaxb.array.StringArray@1c20eb2, net.java.dev.jaxb.array.StringArray@1530691]"and the soap message it returns is this..
<?xml version="1.0" encoding="UTF-8"?>
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:ns1="http://sciphquerydb/">
<soapenv:Body>
<ns1:queryResponse>
<return>
<item>31</item>
<item>45.909092</item>
<item>sntlaws</item>
</return>
<return>
<item>7</item>
<item>42.75</item>
<item>sntlaws</item>
</return>
<return>
<item>23</item>
<item>44.75</item>
<item>sntlaws</item>
</return>
</ns1:queryResponse>
</soapenv:Body>
</soapenv:Envelope>how can i access the item values it returns? what should be the receiving command in my client..
please help me.When startting from Java a WebService that has a method that returns
a multi-dimensional array like you have String[][] query(String, String)
maps to slightly different on the client side when importing the wsdl.
For example on the client side the SEI returns an interface to this method as follows:
public List<StringArray> myMethod(String, String)
So on your client you need to use:
List<StringArray> lsa = port.query("metals", "sntlaws");
This is assuming you used wsgen on your WebService Impl in a start-from-Java scenario to create your wsdl's and schema's to your webservice. -
How to generate JAX-RPC web services instead of JAX-WS webservices withOEPE
How to generate JAX-RPC web services instead of JAX-WS webservices withOEPE? I am asking this because I need to pass xmlbeans generated objects as arguments in the web method. For JAX-WS there has to be a no argument constructor for it to be able to pass in theweb method. The workshop 10.3 was able to pass the xmlbeans generated object as the web service was implemented as a JAX-RPC web service....
Ok just as I expected. So I guess I am left with the following two options
1) either I switched to using JAXB in my apps instaed of xmlbeans....
2) or if I still wanna use the old JAX-RPC web services to deploy on the Weblogic 10gR3 server i will have to create my own ant task jwsc directly......as shown below in your docs
Programming Web Services for WebLogic Server (ant tasks)
http://download.oracle.com/docs/cd/E13222_01/wls/docs92/webserv/anttasks.html
Getting Started With WebLogic Web Services Using JAX-RPC
http://download.oracle.com/docs/cd/E12840_01/wls/docs103/webserv_rpc/index.html
Will OEPE be supporting the old JAX-RPC anytime in the near future release? or have to create own build ant task to call jwsc ant task directly to compile JAX-RPC web services?? -
Authorization needed to invoke Webservices on WAS640
Hi
We have a ECC 5.0 box that is based on WAS640. We created a Webservice definition on the ECC5.0 box based on a XI message interface endpoint and we released the webservice for SOAP runtime.
When we try to invoke the webservice from a SOAP client - I get the following response
<soap-env:Envelope xmlns:soap-env="http://schemas.xmlsoap.org/soap/envelope/">
<soap-env:Body>
<soap-env:Fault>
<faultcode xmlns:n0="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd">n0:FailedAuthentication</faultcode>
<faultstring xml:lang="e">Authority check failed</faultstring>
</soap-env:Fault>
</soap-env:Body>
</soap-env:Envelope>
There is a single role for the userid that is used by the SOAP client to consume the webservice on R3 - SAP_XI_APPL_SERV_USER .
What role am I missing for the webservice user - inorder to fix this problemHi !
Try a user with the S_SERVICE authorization in ECC.
From
https://wwwn.sdn.sap.com/irj/sdn/go/portal/prtroot/docs/library/uuid/5028218f-7f55-2a10-3396-e075665a9445
Accessing SAP functions via Web services follows the standard SAP authorization concept.
This concept is based on authorizations for specific authorization objects. The system checks
for the required authorization for an authorization object during the execution of a Web
service. If a user does not have this authorization, the execution is terminated, and an error
message is returned.
SAP ERP ES uses the standard authorization objects that are available for mySAP ERP,
including authorization default values for Web services. In addition, you need the
authorization S_SERVICE to start external services. To create and consume Web services,
you require the authorizations belonging to the role SAP_BC_WEBSERVICE_ADMIN as well
as authorization for the Internet Communication Framework (S_ICF_ADMIN).
For more information about authorizations for Web services, see the SAP NetWeaver
documentation at help.sap.com ® SAP NetWeaver ® SAP NetWeaver 2004s ® SAP
NetWeaver Developers Guide ® Fundamentals ® Using Java ® Core Development Tasks
® Providing and Consuming Web Services ® Web Service Toolset ® Web Services Security
® Authorization.
Regards,
Matias.
Edited by: Matias Denker on Jan 10, 2008 2:27 PM -
Info for Creating a webservice
Hi Experts,
Could you please guid me how to create the Webservice and how to use that in XI.
Thanks in Advance,
Dushanth.Hi Dushanth,
You create a Web service so that users can access the available functions, such as an RFC-enabled function module, function group, BAPI, or XI message, even those stored in a different system.
Two roles are provided for creating Web services:
● Web Service Developer
The Web service developer defines the Web service at design time. He or she knows the application logic as well as the resulting conditions for the communication type (for example, stateless/stateful), and the required security level. He or she defines these properties at an abstract level. Specific details, such as the transport binding or security concept to be used, are defined only later during the Web service configuration.
● Web Service Configurator
The Web service configurator defines the behavior of the Web service at runtime. He or she knows the system landscape and the technical requirements of the application server where the Web service is to be called. On the basis of the abstract definition of the Web service, the configurator can decide during configuration which specific attributes should be assigned to the features defined at design time.
Prerequisites
To create or consume Web services, you need the authorizations associated with the role SAP_BC_WEBSERVICE_ADMIN. You must add the authorization S_ICF_ADMIN (authorization for the Internet Communication Framework) to your profile. You use the authorization S_SERVICE for starting external services.
Procedure
Um einen ...
● To create a Web service for a function module, function group, BAPI, or XI message interface with a predefined feature profile, use the Web Service Creation Wizard.
● To specify the features of the Web service yourself, follow the procedure described in Creating a Virtual Interface.
You can also create Web services using the Web Service Creation Wizard, and then change the virtual interface and Web service definition in the Object Navigator (SE80), by choosing Enterprise Services ® Web Service Library.
for more Information click on the following link
http://help.sap.com/saphelp_nw04/helpdata/en/76/084e3ce0f9fe3fe10000000a114084/frameset.htm
http://help.sap.com/saphelp_nw04/helpdata/en/76/084e3ce0f9fe3fe10000000a114084/frameset.htm
Cheers,
Ashok Kumar. -
Problem with Authorization for Planning folder
Hi an having a problem with providing authorization for a planning folder
i am getting the following error when i test it with test user
Error while calling up RFC
Message no. UPC202
Diagnosis
You have selected a function, to execute this the system must set up an RFC connection to another SAP System. However, setting up this connection was not successful. The following internal error message was generated:
"You do not have authorization for InfoCube ZT_MR_T "
Procedure
Inform the system administrator.
we are not pulling the data from any other server, all the data is on the sif any one has faced the same issue let me know.
Regards,
AbrahamCalling Thru Trans code: BPS0 in ECC 6
getting this error:
Error while calling up RFC
Message No. UPC202
Diagnosis
You have selected a function, to execute this the system must set up an RFC connection to another SAP System. However, setting up this connection was not successful. The following internal error message was generated:
"An error occurred during the receipt of a complex parameter."
after i check in bw trans code:st22
Following this error message:
Category Internal Kernel Error
Runtime Errors PARAMETER_CONVERSION_ERROR
Application Component BC-MID-RFC
Short text
An error occurred during the receipt of a complex parameter.
What happened?
During a remote function call, an error occurred while converting
a complex parameter.
What can you do?
Note which actions and input led to the error.
For further help in handling the problem, contact your SAP administrator
You can use the ABAP dump analysis transaction ST22 to view and manage
termination messages, in particular for long term reference.
Error analysis
An error occurred during the conversion of a complex parameter. -
Problem with Authorization for BW BPS planning Folder
Hi an having a problem with providing authorization for a planning folder
i am getting the following error when i test it with test user
Error while calling up RFC
Message no. UPC202
Diagnosis
You have selected a function, to execute this the system must set up an RFC connection to another SAP System. However, setting up this connection was not successful. The following internal error message was generated:
"You do not have authorization for InfoCube ZT_MR_T "
Procedure
Inform the system administrator.
if any one has faced the same issue let me know.
Regards,
AbrahamHI ,
I Checked it out we dont have that cube in our system.
Regards,
Abraham -
Authorization for opening & Closing posting periods - OB52
Hi,
Is there any way to set authorization for opening & closing of posting periods in OB52?
My scenario:
I have 2 company codes - A & B assigned to 2 different posting period variant - say PPA & PPB.
The user belonging to CoCd A should not be able to open/close posting period of CoCd B and vice versa.
Is this possible through any authorization settings?
Request your help on this.
Regards,
SrideviHi Sridevi
Please go through the following:
You can assign authorization groups for permitted posting periods. This means that, for example, some posting periods can only be opened for particular users within monthly or annual closing. You can only assign the authorization group at document header level and it only affects period 1. The authorization object is called F_BKPF_BUP (Accounting document: Authorizations for posting periods). Read the corresponding chapter on "User maintenance" in the "Assigning authorizations" topic.
"User maintenance"
Due to the modular authorization concept of the system, you can define authorization profiles which are tailored to the workplace of your employees. You can, for example, assign authorization to a workplace in the Accounts Receivable, Accounts Payable or General Ledger Accounting areas.
By assigning authorizations you define which business-related objects your employees are allowed to process and which editing functions are allowed.
In the following activities for authorization management, you must carry out the following for employees who are to work with the system:
Assign authorizations
The authorizations are assigned by specifying permitted values for the pre-defined objects.
Define profiles
In the SAP system, authorizations are grouped together in workplace profiles. Therefore one or more profiles must be allocated to the individual employee in the master record.
I hope this helps.
Regards
Kavitha
Maybe you are looking for
-
How to change default font in Pages?
how do we change the default font for Pages??
-
Hi Experts, I have a requirement where I need to connect the existing BI system to the new proposed BI system. I am told about the open hub services. But i believe there could be a better way of doing. Can you help me how to connect existing BI sy
-
Hi. On Windows 2003, I have installed BOXI Edge 3.1 with SAP Integration Kit. My primary and only use of the SAPIK will be for retrieving SAP data for BOXI reports. I DO NOT want to use SAP Authentication. For BOXI, I want to set up only AD Authentic
-
JDeveloper 9.0.3.1 is very slow
Hi, I have installed 9.0.3.1 and created the project from scratch. Previously I was using 903 which was very fast in bringing up my application in normail.debug mode. Now it is behaving very slow. the only difference is I am using CVS for my source c
-
Hello, Can someone help me please! I am looking for a command that redirects Maxl the result to a file. txt example display user privilige all> c: \ 1.txt a command like this Thank you!