OSB 11g - send cookes during HTTP redirects
Hi everybody,
I created the OSB business service BS1 to emulate HTTP POST request for the specific URL. The POST request to this URL returns:
HTTP/1.1 302 Moved Temporarily
Date: Tue, 03 Aug 2010 07:01:21 GMT
Server: Apache
P3P: CP="NOI DSP COR CURa ADMa TA1a OUR BUS IND UNI COM NAV INT"
Set-Cookie: PAY2601224103933258050=PAYC7BBCCF4F4E67B7C729D9C1E93A8C236; Path=/; Secure
Accept-Charset: iso-8859-1, unicode-1-1;q=0.8
Expires: Sun, 15 Jul 1990 00:00:00 GMT
Pragma: no-cache
Cache-Control: no-cache
Location: https://<HOST>y?o=pt&DOID=CBAB14334A616C13883CAE0787F14720&paymentId=2601224103933258050
Content-Language: en
Content-Length: 0
Keep-Alive: timeout=120, max=100
Connection: Keep-Alive
Content-Type: text/html;charset=iso-8859-1
To follow HTTP redirects I set the checkbox "Follow HTTP redirects" on the HTTP Transport tab of BS1. The problem is that during redirects OSB's HTTP transport does not resend cookies that server sent to the OSB (PAY2601224103933258050 in my case). This leads to the errors in the redirected page.
The only workaround that I see is the following:
1 - Disable "Follow HTTP redirects" checkbox for BS1
2 - create Proxy service PS1 that will receive HTTP POST request
3 - invoke BS1 from PS1 using service callout
4 - analyze BS1 response metadata (http:Location and tran:user-header with "Set-Cookie" name)
5 - invoke the URL found in http:Location with cookies returned in "Set-Cookie" (by the way, how this can be done in OSB?)
Any ideas?
>
The problem is that during redirects OSB's HTTP transport does not resend cookies that server sent to the OSB (PAY2601224103933258050 in my case).
>
Have you checked if <HOST> (in Location:) matches the hostname in original request? I think cookies are related to hostname by default, so if the redirection goes for a different hostname, it is correct for OSB to omit the cookie.
>
5 - invoke the URL found in http:Location with cookies returned in "Set-Cookie" (by the way, how this can be done in OSB?)
>
You can use Routing Options for setting URL in runtime and Transport Headers for setting headers.
Similar Messages
-
When trying to open my Gmail account, message says a proxy is failing to accept cookies on HTTP redirects. How do I fix it?
Upgrade your browser to Firefox 8 and check
* getfirefox.com -
Sending Cookies in HTTP request
Hi All,
How can i send a Cookie in HTTP request.
I have tried methods "addRequestProperty" & "setRequestProperty"
URL url = new URL("http://hostname.domain");
HttpURLConnection conn = (HttpURLConnection)url.openConnection();
//tried in the following ways
conn.setRequestProperty("Cookie","action=case4");
conn.setRequestProperty("Cookie:","action=case4");
conn.addRequestProperty("Cookie","action=case4");
conn.addRequestProperty("Cookie:","action=case4");
Cookie header is not present when the request headers are read in the Servlet.
Thanks in Advance,
Labora.Hi Miciuli,
Thanks for the response. I am developing a HTTP client in which i need to store the cookies from the response & send it back to the Origin server for the subsequent request. In this scenario, i have to send the Cookies in the HTTP request.
Thanks,
Labora. -
OSB 11g - Apache Webserver - WSDL location redirecting to OSB server
Hi,
In our case we have a OSB server running on a dev machine and a Apache server is installed which receives the requests from the vendor and forwards the requests to the OSB. I have a Proxy Service on the OSB which is WSDL based and this is accessed by the vendor.
The DMZ only allows requests from the vendor to the web server and not to the OSB.
From client's end when they send the WSDL request http://*<webserver_ip>*/endpoint-uri?wsdl to the webserver, the WSDL is sent back to the client. But in that WSDL the service endpoint location points to the OSB server (http://*<osb_ip>*/endpoint-uri?wsdl). Upon receiving this the client tries sends the request to OSB server directly which is blocked by the DMZ. The client should have got the response as http://*<webserver_ip>*/endpoint-uri?wsdl so that it could send the request to the web server and not the OSB server. The calls to the OSB server are not allowed by the DMA. Because of this their call to invoke the data is not successful.
I tried hard coding the URL http://<webserver_ip>/endpoint-uri?wsdl in the WSDL and then use it but still the problem is not resolved. Still in the endpoint address location in the WSDL the IP of the OSB is sent and not the IP of the web server.
What can I do so that the WSDL which is sent to the vendor has the service endpoint location as http://<webserver_ip>/endpoint-uri?wsdl and not http://*<osb_ip>*/endpoint-uri?wsdl.
Thanks,
SanjayI tried hard coding the URL http://<webserver_ip>/endpoint-uri?wsdl in the WSDL and then use it but still the problem is not resolved. Still in the endpoint address location in the WSDL the IP of the OSB is sent and not the IP of the web server.
The url in the port section of the wsdl resource is never used in the effective wsdl generated by OSB. Instead you can use weblogic Frontend host/port properties for solving this.
The below describes the rule how weblogic computes the hostname part of the URL in the generated wsdl's for its deployed web services:
http://download.oracle.com/docs/cd/E12840_01/wls/docs103/webserv/setenv.html#wp220945
# If the Web Service is deployed to a cluster, and the cluster Frontend Host, Frontend HTTP Port, and Frontend HTTPS Port are set, then WebLogic Server uses these values in the server address of the dynamic WSDL.
# If the preceding cluster values are not set, but the Frontend Host, Frontend HTTP Port, and Frontend HTTPS Port values are set for the individual server to which the Web Service is deployed, then WebLogic Server uses these values in the server address.
# If these values are not set for the cluster or individual server, then WebLogic Server uses the server address of the WSDL request in the dynamic WSDL. -
SOAP Header based user/password authentication in OSB 11g Proxy Service
Hi,
I have implemented SOAP Header based authentication in my OSB 11g Proxy Service.
In the Security settings of my AnySOAP(Soap 1.1) HTTP Proxy service, I have amde the following changes:
1.
In Transport Access Control link, i selected the User predicate, and provided an user already existing on weblogic server with following roles(AppTesters, Monitors, Operators).
The AuthorizationProvider was XACMLAuthorizer
2.
Under Custom Authentication, I selected the Custom User Name and Password option, and provided the below mentiioned xpaths
User Name XPath: ./*/*:Username/text()
User Password XPath: ./*/*:Password/text()
3.
In Message Access Control link, i selected the User predicate with the same user as mentioned in Transport Access Control link.
Now, when I am testing this service from OSB Test Console, I am providing the following input.
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" xmlns:N1="http://abcd.com/common/bodcomponents/transactional/model/1.0/">
<soap:Header>
<AuthHeader>
<N1:Username>userXYZ</N1:Username>
<N1:Password>passXYZ</N1:Password>
</AuthHeader>
</soap:Header>
<soap:Body>
<!-- body payload -->
</soap:Body>
</soap:Envelope>
The response is "The invocation resulted in an error: ."
The OSB server logs show the below error:
####<Feb 9, 2011 6:05:42 PM IST> <Error> <OSB Security> <test.abcd.co.in> <osb_server1> <[ACTIVE] ExecuteThread: '9' for queue: 'weblogic.kernel.Default (self-tuning)'> <<anonymous>> <> <5a5769b8025ef997:-2bda316:12def49100a:-7fff-0000000000000c92> <1297254942782> <BEA-387082> <Proxy service access denied (proxy: ABCD/Services/Common_HTTP_Proxy, subject: Subject: 0
)>
####<Feb 9, 2011 6:05:42 PM IST> <Error> <OSB Kernel> <test.abcd.co.in> <osb_server1> <[ACTIVE] ExecuteThread: '9' for queue: 'weblogic.kernel.Default (self-tuning)'> <<anonymous>> <> <5a5769b8025ef997:-2bda316:12def49100a:-7fff-0000000000000c92> <1297254942782> <BEA-382004> <Failed to process request message for service ProxyService ABCD/Services/Common_HTTP_Proxy: com.bea.wli.sb.security.AccessNotAllowedException
com.bea.wli.sb.security.AccessNotAllowedException
at com.bea.wli.sb.pipeline.RouterSecurity.doAccessControl(RouterSecurity.java:136)
at com.bea.wli.sb.pipeline.RouterSecurity.doAccessControl(RouterSecurity.java:117)
at com.bea.wli.sb.pipeline.RouterManager.processMessage(RouterManager.java:586)
at com.bea.wli.sb.test.service.ServiceMessageSender.send0(ServiceMessageSender.java:329)
at com.bea.wli.sb.test.service.ServiceMessageSender.access$000(ServiceMessageSender.java:76)
at com.bea.wli.sb.test.service.ServiceMessageSender$1.run(ServiceMessageSender.java:134)
at com.bea.wli.sb.test.service.ServiceMessageSender$1.run(ServiceMessageSender.java:132)
at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:363)
at weblogic.security.service.SecurityManager.runAs(SecurityManager.java:147)
at com.bea.wli.sb.security.WLSSecurityContextService.runAs(WLSSecurityContextService.java:55)
at com.bea.wli.sb.test.service.ServiceMessageSender.send(ServiceMessageSender.java:137)
at com.bea.wli.sb.test.service.ServiceProcessor.invoke(ServiceProcessor.java:454)
at com.bea.wli.sb.test.TestServiceImpl.invoke(TestServiceImpl.java:172)
at com.bea.wli.sb.test.client.ejb.TestServiceEJBBean.invoke(TestServiceEJBBean.java:167)
at com.bea.wli.sb.test.client.ejb.TestService_sqr59p_EOImpl.invoke(TestService_sqr59p_EOImpl.java:353)
at com.bea.wli.sb.test.client.ejb.TestService_sqr59p_EOImpl_WLSkel.invoke(Unknown Source)
at weblogic.rmi.internal.BasicServerRef.invoke(BasicServerRef.java:589)
at weblogic.rmi.cluster.ClusterableServerRef.invoke(ClusterableServerRef.java:230)
at weblogic.rmi.internal.BasicServerRef$1.run(BasicServerRef.java:477)
at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:363)
at weblogic.security.service.SecurityManager.runAs(SecurityManager.java:147)
at weblogic.rmi.internal.BasicServerRef.handleRequest(BasicServerRef.java:473)
at weblogic.rmi.internal.wls.WLSExecuteRequest.run(WLSExecuteRequest.java:118)
at weblogic.work.ExecuteThread.execute(ExecuteThread.java:201)
at weblogic.work.ExecuteThread.run(ExecuteThread.java:173)
Please suggest where I am going wrong in this. I have cross checked the user/pass credentials with what I am giving in the input, and it is perfectly fine.I have added the Username and Password as follows, since the namespace declaration was required due to the namespace prefix 'N1' in the XPath
declare namespace N1="http://abcd.com/common/bodcomponents/transactional/model/1.0/";./AuthHeader/N1:Username/text()
declare namespace N1="http://abcdp.com/common/bodcomponents/transactional/model/1.0/";./AuthHeader/N1:Password/text()
I have removed the Message Access Control conditions, have only kept Transport Access Control conditions.
If i keep the condition in Transport Access Control as "Allow access to everyone", and test with proper credentials in the Username/Password tags in SOAP Header, then it works fine. However, if I try to give an incorrect password in the SOAP Header, it denies the access. So that means the XPaths given for Username/Password are working fine. The OSB logs show the below message
+####<Feb 10, 2011 12:59:21 PM IST> <Error> <OSB Security> <test.abcd.co.in> <osb_server1> <[ACTIVE] ExecuteThread: '7' for queue: 'weblogic.kernel.Default (self-tuning)'> <<anonymous>> <> <5a5769b8025ef997:-2bda316:12def49100a:-7fff-0000000000000ef2> <1297322961536> <BEA-386008> <Message level username/password authentication failed: [Security:090304]Authentication Failed: User weblogic javax.security.auth.login.FailedLoginException: [Security:090302]Authentication Failed: User weblogic denied>+
However if i add the condition with predicate as "User" and user name argument as "weblogic", and try to pass the same in the SOAP Header as well with the correct password, it denies the access with below message in the logs.
+####<Feb 9, 2011 6:05:42 PM IST> <Error> <OSB Security> <test.abcd.co.in> <osb_server1> <[ACTIVE] ExecuteThread: '9' for queue: 'weblogic.kernel.Default (self-tuning)'> <<anonymous>> <5a5769b8025ef997:-2bda316:12def49100a:-7fff-0000000000000c92> <1297254942782> <BEA-387082> <Proxy service access denied (proxy: ABCD/Services/Common_HTTP_Proxy, subject: Subject: 0+
+)>+
+####<Feb 9, 2011 6:05:42 PM IST> <Error> <OSB Kernel> <test.abcd.co.in> <osb_server1> <[ACTIVE] ExecuteThread: '9' for queue: 'weblogic.kernel.Default (self-tuning)'> <<anonymous>> <5a5769b8025ef997:-2bda316:12def49100a:-7fff-0000000000000c92> <1297254942782> <BEA-382004> <Failed to process request message for service ProxyService ABCD/Services/Common_HTTP_Proxy: com.bea.wli.sb.security.AccessNotAllowedException+
com.bea.wli.sb.security.AccessNotAllowedException
at com.bea.wli.sb.pipeline.RouterSecurity.doAccessControl(RouterSecurity.java:136)
at com.bea.wli.sb.pipeline.RouterSecurity.doAccessControl(RouterSecurity.java:117)
at com.bea.wli.sb.pipeline.RouterManager.processMessage(RouterManager.java:586)
at com.bea.wli.sb.test.service.ServiceMessageSender.send0(ServiceMessageSender.java:329)
at com.bea.wli.sb.test.service.ServiceMessageSender.access$000(ServiceMessageSender.java:76)
at com.bea.wli.sb.test.service.ServiceMessageSender$1.run(ServiceMessageSender.java:134)
at com.bea.wli.sb.test.service.ServiceMessageSender$1.run(ServiceMessageSender.java:132)
at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:363)
at weblogic.security.service.SecurityManager.runAs(SecurityManager.java:147)
at com.bea.wli.sb.security.WLSSecurityContextService.runAs(WLSSecurityContextService.java:55)
at com.bea.wli.sb.test.service.ServiceMessageSender.send(ServiceMessageSender.java:137)
at com.bea.wli.sb.test.service.ServiceProcessor.invoke(ServiceProcessor.java:454)
at com.bea.wli.sb.test.TestServiceImpl.invoke(TestServiceImpl.java:172)
at com.bea.wli.sb.test.client.ejb.TestServiceEJBBean.invoke(TestServiceEJBBean.java:167)
at com.bea.wli.sb.test.client.ejb.TestService_sqr59p_EOImpl.invoke(TestService_sqr59p_EOImpl.java:353)
at com.bea.wli.sb.test.client.ejb.TestService_sqr59p_EOImpl_WLSkel.invoke(Unknown Source)
at weblogic.rmi.internal.BasicServerRef.invoke(BasicServerRef.java:589)
at weblogic.rmi.cluster.ClusterableServerRef.invoke(ClusterableServerRef.java:230)
at weblogic.rmi.internal.BasicServerRef$1.run(BasicServerRef.java:477)
at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:363)
at weblogic.security.service.SecurityManager.runAs(SecurityManager.java:147)
at weblogic.rmi.internal.BasicServerRef.handleRequest(BasicServerRef.java:473)
at weblogic.rmi.internal.wls.WLSExecuteRequest.run(WLSExecuteRequest.java:118)
at weblogic.work.ExecuteThread.execute(ExecuteThread.java:201)
at weblogic.work.ExecuteThread.run(ExecuteThread.java:173) -
hello evey one,
i have the following question which is very very important to continue my work with OSB 11g.
i have developed two web services the first takes data from table X and the other one is insert that data to Table Y, and i created a OSB configuration project and OSB project and for now every thing is fine since i can call both web Services useing proxy service from web service client tool.
what i need is how can i set the OSB to call web service 1 automatically every 1 hour, 1 minute its does matter, and send the data to web service two to be inserted???????
please help!!!!!I suppose you are after a timer transport in OSB here..Please take a look at this article which explains a reference implementation using the weblogic timer service:
http://blogs.oracle.com/jamesbayer/2007/11/weblogic_scheduling_a_polling.html
There are some concrete viewpoints that a service bus is not the right place to put in timer facility.. See the discussion at this thread within this forum:
Re: How to implement in OSB: Scheduling, Timers and Custom properties -
Hi,
I want to configure http to https redirects on CCS 11501. Could someone guide me on how to implemet HTTPS redirect for a sub-directory.
Say I have www.xyz.com by default it goes to http, which is fine. But if someone types in http://www.xyz.com/login or http://www.xyz.com/login/secure/index.html then it should be redirected to httpS://www.xyz.com/login or http://www.xyz.com/login/secure/index.html. Basically anything in and under login directory should be HTTPS.
I have setup following but I am getting redirect loop
content DEFAULT
vip address 10.1.1.1
protocol tcp
port 80
url "/*"
add service Server1
add service Server2
advanced-balance arrowpoint-cookie
active
content SSL_RULE
protocol tcp
vip address 10.1.1.1
port 443
add service SSL_SERVICE
active
content LOGIN
vip address 10.1.1.1
protocol tcp
port 80
url "//www.xyz.com/login/*"
add service LOGIN_RD
active
==========================
service LOGIN_RD
ip address 2.2.2.2
keepalive type none
type redirect
domain https://www.xyz.com
active
service SSL_SERVICE
type ssl-accel
slot 2
add ssl-proxy-list SSL_LIST1
keepalive type none
active
I would greatly appreciate any help.Your getting a redirect loop because you do not have an alternate port were the redirected traffic can be processed. The inbound request that contains "/login" will get redirected to the HTTPS equivalent however with your current configuration the connection will simply fall under the same redirect content rule and you will never resolve content correctly(redirect loop).
The following configuration will work:
content DEFAULT
vip address 10.1.1.1
protocol tcp
port 80
url "/*"
add service Server1
add service Server2
advanced-balance arrowpoint-cookie
active
content DEFAULT
vip address 10.1.1.1
protocol tcp
port 81
url "/*"
add service Server1
add service Server2
advanced-balance arrowpoint-cookie
active
content SSL_RULE
protocol tcp
vip address 10.1.1.1
port 443
add service SSL_SERVICE
active
content LOGIN
vip address 10.1.1.1
protocol tcp
port 80
url "/login*"
add service LOGIN_RD
active
==========================
service LOGIN_RD
type redirect
no prepend-http
keepalive type none
domain https://www.xyz.com
active
service SSL_SERVICE
type ssl-accel
slot 2
add ssl-proxy-list SSL_LIST1
keepalive type none
active
Update the ssl-proxy-list with an alternate port to send the decrypted traffic too.
ssl-server 1 cipher all-cipher-suites 10.1.1.1 81
I chose port 81 as the alternate decrypted port, however you can choose any other port. Please be sure that your servers are setup to accept traffic on that alternate port as well. If not, you can simply setup a NAT rule and hardset the destination port on the services to port 80. This will allow the CSS to re-write the destination port to port 80 when the decrypted traffic gets sent to the alternate port 81 content rule.
Hope this info helps.
- Jason -
ACE http/https redirect or rewrite
Greetings,
We have a setup that requires ACE http/https redirection or rewrite.
A client connects to a secured Web portal which has its ssl termination on the ACE.
The web portal will request from the client a redirection to another application. As the portal is unaware that the incoming client https request was terminated on the ACE,
the client receives the redirect request for an unsecured http URL rather than for the secured https URL.
In this case what would be best to use? ACE "rewrite" or "redirect"?
Will the following example config for ACE "redirect" be sufficent to implement this?
ssl-proxy service ssl-App-443-81
key app1.test.com.key
cert app1.test.com.cert
rserver redirect App-secure-redirect
webhost-redirection https://app1.test.com/Go/
inservice
serverfarm redirect App-secure-redirect-sf
rserver App-secure-redirect
inservice
serverfarm host App-81-sf
probe TCP81
rserver proxy1 81
inservice
rserver proxy2 81
inservice
parameter-map type http http_param_map
header modify per-request
sticky http-cookie App-cookie App-sticky
cookie insert
replicate sticky
serverfarm App-81-sf
class-map match-any App-443-81-cm
2 match virtual-address 10.10.10.112 tcp eq https
class-map match-any App-81-cm
2 match virtual-address 10.10.10.112 tcp eq 81
class-map type http loadbalance App-secure-redirect-cm
match http url http://app1.test.com:81/Go/
policy-map type loadbalance http first-match App-rewrite-pm
class App-secure-redirect-cm
serverfarm App-secure-redirect-sf
policy-map type loadbalance http first-match App-sticky-443-81-pm
class class-default
sticky-serverfarm App-sticky
policy-map multi-match policy-inbound
class App-81-cm
loadbalance vip inservice
loadbalance policy App-rewrite-pm
loadbalance vip icmp-reply active
loadbalance vip advertise active
class App-443-81-cm
loadbalance vip inservice
loadbalance policy App-sticky-443-81-pm
loadbalance vip icmp-reply active
loadbalance vip advertise active
appl-parameter http advanced-options http_param_map
ssl-proxy server ssl-App-443-81If you are offloading www.yoursite.com on ACE and on the backend
real servers are not ssl aware (sends URL with http://) then with
following sample config you can instruct ACE to rewrite such urls (http->https)
class-map match-all VIP-443
match virtual-address x.x.x.x tcp eq https
action-list type modify http HTTP2HTTPS-REWRITE
ssl url rewrite location www\.yoursite\.* sslport 443 clearport 80
policy-map type loadbalance first-match YOUR-POLICY
class class-default
serverfarm YOUR-SFARM
action HTTP2HTTPS-REWRITE
class VIP-443
loadbalance vip inservice
loadbalance policy YOUR-POLICY
loadbalance vip icmp-reply active
ssl-proxy server YOUR-SSL-SERVICE
You need Ace2.x+ on Ace module & 3.x+ on 4710 appliance for this feature.
Syed Iftekhar Ahmed -
Accessing a collection from outside of Apex without causing a HTTP redirect
First, some background:
I am running Apex version 2.2.1.00.04 on Oracle9i Enterprise Edition Release 9.2.0.7. IE 6 and Flash 9
My Apex page contains two third-party Flash controls. Each Flash control uses a passed in URL to get the data that it will display. The data that I need to pass to the Flash controls is stored in an Apex collection created in my page.
Using the technique outlined in the following posts,
Re: Accessing Collection through a DBMS.job
Re: Accessing application item value from database
I have created a stored procedure that will attach to my Apex session and query the collection. See procedure get_data below.
The URL that the Flash controls are passed is like this:
http://myhost/pls/mydad/get_data?p_user=MYUSER&p_session_id=535622580488397200&p_app_id=2332
The call to WWV_FLOW_CUSTOM_AUTH_STD.POST_LOGIN causes a HTTP redirect to the Apex at page p_app_id:1. The Flash control that initiated the request never sees the data stream that the get_data procedure is sending via HTTP.P. Instead, it sees the HTML produced by the Apex page at p_app_id:1.
Now, my question:
Is it possible to call the WWV_FLOW_CUSTOM_AUTH_STD.POST_LOGIN command in away that does not cause a HTTP redirect? If not, then is there another series of commands that will attach to an Apex session but not cause a HTTP redirect?
Thanks,
Ken
CREATE OR REPLACE procedure get_data(p_user IN VARCHAR2,
p_session_id IN VARCHAR2,
p_app_id IN VARCHAR2) as
BEGIN
APEX_CUSTOM_AUTH.DEFINE_USER_SESSION(p_user,
p_session_id );
APEX_APPLICATION.G_FLOW_ID:= p_app_id;
WWV_FLOW_CUSTOM_AUTH_STD.POST_LOGIN(p_user ,
NULL ,
p_session_id ,
p_app_id||':'||'1' );
FOR c_collection_rec IN (SELECT c001
FROM APEX_COLLECTIONS
WHERE collection_name='MY_COLLECTION')
LOOP
HTP.P(c_collection_rec.c001);
END LOOP;
END;Ken - No way to prevent the redirect attempt, that's what the procedure is built to do. To use it otherwise is aberrant. I think you could use an on-demand process (FOO) callable from the URL that would spit the data back out. You do this by defining an application process (on-demand firing point) and callling it from the URL ( f?p=APP:0:SESSSION:APPLICATION_PROCESS=FOO). If the cookie is passed in the request (meaning you've authenticated) and authentication check passes again in your process request, the process will produce the result stream.
Scott -
Oracle OSB 11G. Unable to find Oracle Service Bus Configuration Page.
Hi All,
Sorry for the apparent silly question but I am studying and learning the product.
I have the OSB 11G installed and running with a proxy service working and routing requests. The Oracle ESB documentation http://download.oracle.com/docs/cd/E21764_01/doc.1111/e15866/ui_ref.htm#i1327746 at chapter 4.4.2 New Oracle Service Bus Configuration Project Wizard
Use this wizard to create an Oracle Service Bus configuration project. For configuration options, see Section 4.4.3, "Oracle Service Bus Configuration Page."
4.4.3 Oracle Service Bus Configuration Page.
I don't see the configuration page in anywhere in the left pane of the console. Am I missing something? The project creation works fine but I just don't see the configuration Wizard.
Thanks.
Regards
Salvatore IlardoThe link which you are referring is for user interface objects in the Oracle Service Bus plug-ins and OSB plug-ins are used with OEPE (Oracle Enterprise Pack for Ecplise) for OSB development. OEPE is the only supported IDE for OSB development as of now.
Remember, at a time, one and only one Oracle Service Bus Configuration project can be deployed in a OSB domain which may contain desired number of Oracle Service Bus Projects and that's why there is no provision of creating Oracle Service Bus Configuration Project in sbconsole GUI. In IDE, you may create many Oracle Service Bus Configuration Project and that's why it has a Oracle Service Bus Configuration Project Wizard.
Regards,
Anuj -
Need to send cookie to non-SAP backend from URL iView
Hi,
I have a backend application which takes a cookie for
(non-SAP) SSO purposes. I have created an URL iView
in my EP 6.0 SP2 that correctly displays the content
of that web page, i. e. the login screen.
However, even when I have a cookie in my browser, it still
displays that login screen, i. e. the cookie is either
not sent or not recognized.
I then created a simple test servlet on a backend server
that prints the contents of all the HTTP headers. When
I connect my browser directly to that page, I can see
the cookie. When I connect my iView to that URL, I
do not see the cookie. So apparently the iView does
not send the cookie.
As I learned, in EP 6.0 SP3 there is a "Fetch Mode"
property for URL iViews which allow to define whether
the URL in the URL iView should be retrieved by the
server or the client. This seems to indicate that in
SP2, always the server issues that request, which would
explain why there is no cookie in the request (since only
the browser holds these cookies). So I presume if I
would use SP3 with Fetch-Mode set to Client, this might
work. But then again, this fetch mode is not really
encouraged by the documentation and only recommended
if you are really desparate ...
So the question basically is:
- are my assumptions above correct?
- is there a way to have the EP server send cookies to
my backend systems with SP2?
I'm a little puzzled that this doesn't work out of the
box, since my understanding was that SAP SSO tokens are
also transported to backend systems using cookies, and
this is supposed to be on by default for EP. So I was
expecting to see at least the SAP SSO tokens in all
HTTP requests to backends. Apparently, the world is
not that easy.
Any insights would very much appreciated!
Thanks,
MatthiasAdditional thoughts:
In general your assumptions are correct. When using client side fetch mode then the cookie should be forwarded, and I would not expect problems there. When using server side mode then the cookie domain changes and becomes the portal domain, and as a result the cookie is kept in the browser, but is a little useless. I'm not 100% familiar with how we solve this problem when using SSO2 cookie in server side. Yoav, can you elaborate ?
The reason the documentation was not in favor of client side is because at the time the idea was to encourage the users to use the portal server cache. However, this seems less relevant now, because only the first request will be cached, but not the inner calls of the html page.
Bottom line - I don't see any issue with using client side, and actually the default in FP is client side. So I would simply modify the iview to use it. -
Error while running export.py in OSB 11g
Hi all,
I am trying to write wlst in osb 11g. I am getting the following error
export:
[echo] exportscript: export.py
[java] Initializing WebLogic Scripting Tool (WLST) ...
[java] Welcome to WebLogic Server Administration Scripting Shell
[java] Type help() for help on available commands
*[java] Problem invoking WLST - Traceback (innermost last):*
*[java] File "C:\Documents and Settings\Desktop\WLST\test\export.py", line 7, in ?*
*[java] ImportError: cannot import name EnvValueQuery*
[java] Java Result: 1
BUILD SUCCESSFUL
Total time: 6 seconds
Below is my build.xml should I make any more changes to run it in 11g I have changed the com.bea.common.configfwk_1.3.0.0.jar file name and directory names.
Should I set any class path before running this build.xml ?
<project default="export">
<!-- ALSB domain creation project -->
<property environment="env" />
<!-- set global properties for this build -->
<!-- The bea.home property hold that name of the directory where you installed ALSB 3.0.
you need to change this value so that it matches your installation directory.
-->
<property name="bea.home" value="C:\Oracle\Middleware" />
<!-- The workspace.dir is the directory of the workspace that you created to contain the sample
projects from this book. By default, the namespace is "alsb30_book"
-->
<property name="workspace.dir" value="C:\Documents and Settings\workspace\Test OSB Project" />
<property name="weblogic.home" value="${bea.home}\wlserver_10.3" />
<property name="domain.export.script" value="export.py" />
<property name="domain.import.script" value="import.py" />
<property name="export.config.file" value="export.properties" />
<property name="import.config.file" value="import.properties" />
<property name="build" value="build" />
<property name="dist" value="dist" />
<path id="wlst.class.path">
<fileset dir="${bea.home}\Oracle_OSB1\lib">
<include name="sb-kernel-api.jar" />
</fileset>
<fileset dir="${bea.home}\modules">
<include name="com.bea.common.configfwk_1.3.0.0.jar" />
</fileset>
<fileset dir="${weblogic.home}\server\lib">
<include name="weblogic.jar" />
<include name="webserviceclient.jar" />
</fileset>
</path>
<taskdef name="wlst" classname="weblogic.ant.taskdefs.management.WLSTTask" classpathref="wlst.class.path" />
<target name="export">
<echo message="exportscript: ${domain.export.script}" />
<java classname="weblogic.WLST" fork="true" classpathref="wlst.class.path">
<arg line="${domain.export.script} ${export.config.file}" />
</java>
</target>
<target name="clean">
<delete dir="${dist}" />
<delete dir="${build}" />
<mkdir dir="${dist}" />
<mkdir dir="${build}" />
</target>
</project>Perhaps you are using old WLST code (used for OSB 10g), with OSB 11g.
The ALSBConfigurationMBean (com.bea.wli.sb.management.configuration.ALSBConfigurationMBean) Interface in the com.bea.wli.sb.management.configuration package in the Oracle Fusion Middleware Java API Reference for Oracle Service Bus includes example code illustrating how to import and export Oracle Service Bus 11g configurations, how to change environment values, how to query resources, and so on. Please find it here -
http://download.oracle.com/docs/cd/E14571_01/apirefs.1111/e15033/toc.htm
Regards,
Anuj -
Using DB Adapter for MS SQL Server 2005 SP in OSB 11g.
Hi All,
I have a requirement to create a DB Adapter for MS SQL Server Stored Procedure in JDeveloper and export the Adapter file to OSB 11g. I have Created the Adapter and imported it into OSB 11g successfully. Created the Datasource and Connection pool also in console.
The problem is while trying to execute the created business Service, I am getting the error as below,
<Oct 26, 2012 12:20:25 PM IST> <Error> <JCATransport> <BEA-381967> <Invoke JCA outbound service failed with application error, exception: com.bea.wli.sb.transports.jca.JCATransportException: oracle.tip.adapter.sa.api.JCABindingException: oracle.tip.adapter.sa.impl.fw.ext.org.collaxa.thirdparty.apache.wsif.WSIFException: servicebus:/WSDL/Test/CheckAppID/WL_Driver/CheckAppId_WL_Driver [ CheckAppId_WL_Driver_ptt::CheckAppId_WL_Driver(InputParameters,OutputParameters) ] - WSIF JCA Execute of operation 'CheckAppId_WL_Driver' failed due to: Unimplemented string conversion.
Conversion of JDBC type to String is not supported.
An attempt was made to convert a Java object to String using an unsupported JDBC type: .
; nested exception is:
BINDING.JCA-11804
Unimplemented string conversion.
My XSD is ,
<element name="InputParameters">
<complexType>
<sequence>
<element name="application_id" type="int" db:index="1" db:type="INT" minOccurs="0" nillable="true"/>
</sequence>
</complexType>
</element>
<element name="OutputParameters">
<complexType>
<sequence>
<element name="RowSet0" type="db:RowSet0_RowSet" db:type="RowSet0" minOccurs="0" maxOccurs="unbounded" nillable="true"/>
<element name="RowSet1" type="db:RowSet1_RowSet" db:type="RowSet1" minOccurs="0" maxOccurs="unbounded" nillable="true"/>
</sequence>
</complexType>
</element>
<complexType name="RowSet1_RowSet">
<sequence>
<element name="RowSet1_Row" minOccurs="0" maxOccurs="unbounded">
<complexType>
<sequence>
<element name="cde" type="int" db:type="INT" minOccurs="0" nillable="true"/>
<element name="msg" db:type="NVARCHAR" minOccurs="0" nillable="true">
<simpleType>
<restriction base="string">
<maxLength value="255"/>
</restriction>
</simpleType>
</element>
</sequence>
</complexType>
</element>
</sequence>
</complexType>
<complexType name="RowSet0_RowSet">
<sequence>
<element name="RowSet0_Row" minOccurs="0" maxOccurs="unbounded">
<complexType>
<sequence>
<element name="aaa" type="boolean" db:type="BIT" minOccurs="0" nillable="true"/>
<element name="bbb" db:type="NVARCHAR" minOccurs="0" nillable="true">
<simpleType>
<restriction base="string">
<maxLength value="10"/>
</restriction>
</simpleType>
</element>
</sequence>
</complexType>
</element>
</sequence>
</complexType>
I don't know why there is a datatype conversion error.
Help me in resolving this.
Regards,
Nataraj R.Hi,
I believe NVARCHAR is an unsupported type...
The following document lists the supported data types for SQL Server stored procedures and functions... NVARCHAR is not in the list... :-(
http://docs.oracle.com/cd/E23943_01/integration.1111/e10231/adptr_db.htm#CHDEBEEE
Hope this helps...
Cheers,
Vlad -
How do I get rid of (to many HTTP redirects) from my App Store
Every time I go to categories or top 25 I cannot get in it keeps saying to many HTTP redirect how can I fix this
It did not start until I had my phone reset. And I try resetting my phone again and it won't even reset nowClearing the History and Cookies on Safari then closing safari from the background has helped me with this issue
Go to Settings then click on Safari. Once there, clear the cookies and data. Then go into safari app then clear the history. Once you do that, close safari from the background by double clicking the home button, hold the app then hit the red - to close. -
Writing a file using ssh in OSB 11g
Hi
OSB 11G
Once I fetch from DB, i am able to write a flat file(delimiter with pipe) using Messaging Service and MFL.
Now, my requirement is to write using SSH .
Can anyone let me know how do I configure it in my Business Service?
Thanks
Edited by: soauser on Jul 12, 2011 9:08 AMOSB supports SSH File Transfer Protocol (SFTP) using SSH version 2 with SFTP transport -
section "26.5 SFTP Transport" at http://download.oracle.com/docs/cd/E17904_01/doc.1111/e15866/http_poller.htm#i1085854
If existing options are not sufficient, you may also create custom transport using transport SDK and use that in OSB -
http://download.oracle.com/docs/cd/E17904_01/doc.1111/e15866/part_tsdk.htm#sthref954
Regards,
Anuj
Maybe you are looking for
-
Hi Friends I'm doing a BDC .... in the recording I have found that I've to change different line items.. the part of recording in which I'm facing problem is as below: BDC_CURSOR VBAP-ABGRU(06) VBAP-ABGRU(01) 10 VBAP-ABGRU(02) 10 VBAP-ABG
-
Duplicate target database for standby failing ...
hi, below is the message reported at the end of rman session log: channel ORA_AUX_DISK_1: restore complete, elapsed time: 01:09:50 failover to previous backup RMAN-00571: =========================================================== RMAN-00569: =======
-
Error while running migrateInstance5
Hi all, I am getting the following error while running the migrateInstance5 when I am trying to migrate from 4.16 to 5.1:- AtributeName: mvs, Value: ( mvs-oid NAME ( 'mvs' ) DESC 'User Defined Attribute' SYNTAX 1.3.6.1.4.1.1466.115.121.1.15 X-ORIGIN
-
Macbook not starting up after water spill - beeping sounds
I was cleaning the keyboard with water while it was turned off and accidently spilt about 50-100ml of water onto the keyboard, also accidently turning the computer onto sleep mode at one point. I tried cleaning up the water by letting it drain, but i
-
Failure of Background Ant Build
Hi I'm implementing the CreditFlow example from the quick start tutorial. I've got an error during the deployment. Error during parsing of the deployment-descriptor: build.xml. reason:"unknown protocol:c" Check the deployment descriptor. <?xml versio