|
Home > Archive > BizTalk Server Orchestration > June 2005 > Help Needed | Changing HTTP Status code from Orchestration.
You are viewing an archived Text-only version of the thread.
To view this thread in it's original format and/or if you want to reply to
this thread please [click here]
| Author |
Help Needed | Changing HTTP Status code from Orchestration.
|
|
|
| HI All,
I need to change /set HTTP status code and status description from within
orchestration when sending response back to calling client through HTTP
adapter.
From the SP1 fixes list, I understand that my above requirement is possible.
Can somebody please give me some samples of how do i do this.
"837441 FIX: The BizTalk Server 2004 HTTP Adapter does not support setting
HTTP headers on response from the server"
I would greatly appreciate any help on this regard. Thanks a lot.
Regards,
red
| |
|
| Any pointers to some documentation also would greatly help. I am badly in
need of this 
Regards,
red
"red" wrote:
> HI All,
>
> I need to change /set HTTP status code and status description from within
> orchestration when sending response back to calling client through HTTP
> adapter.
>
> From the SP1 fixes list, I understand that my above requirement is possible.
> Can somebody please give me some samples of how do i do this.
>
> "837441 FIX: The BizTalk Server 2004 HTTP Adapter does not support setting
> HTTP headers on response from the server"
>
> I would greatly appreciate any help on this regard. Thanks a lot.
>
> Regards,
> red
| |
| Karahan Celikel [MSFT] 2005-06-14, 2:48 am |
| Red,
The fix 837441 is for overriding the HTTP headers. HTTP status code is not
part of the http response header, that's why you can't override it using
this method.
Can you please provide more details?
What is your general scenario and requirements?
Why do you need to send a different HTTP response code to the client?
Will it be enough for you just to send 200 and 500 codes? or do you need to
have more coverage?
We really would like to hear from you about your requirements so that we
can find a solution, and incorporate your valuable feedback into the next
version.
Thanks
--------------------[vbcol=seagreen]
possible.[vbcol=seagreen]
setting[vbcol=seagreen]
This posting is provided "AS IS" with no warranties, and confers no rights.
Business Process Integration Team
| |
|
| Hi,
We have SAP 4.7 system which will output IDocs to EIA System. The EIA system
will convert the IDocs to XML and relay (using Soniq MQ) the XML to my system
(XML Post over HTTP).
My system uses Biztalk server 2004 to read the XML, perform the business
logic and send an apporpriate response back to the calling client (i.e. Soniq
MQ / EIA system).
Now getting in to more details; We have Biztalk HTTP Adapter which reads the
XML. We have built some complex orchestrations which read the XML and perform
business logic.
The requirement is, when everything is fine i.e. when the business logic has
been applied correctly on the data contained in the XML, we have to send a
200 (HTTP Status Code) OK (HTTP Status description) back to the client.
Biztalk HTTP adapter by default handles this.
But in odd scenarios, when the Business logic rule (built in the
orchestration) fails, we have to send a different HTTP status code and
description to the calling client (i.e EIA system).
Examples are :
1) Sap order number duplicate, we have to send HTTP status code as "403" and
status description as "Ord Num Dup"
2) Reconciliation date empty, we have to send HTTP status code as "404" and
status description as "Rec Dt Emp"
The status codes may not be appropriate, but this is how the requirement of
the EIA system is. I cann't ask the other team to change their system, since
its the way they have been working for years and catering to many other
client system other than ours . I will have to think of a better way of
handling this situation.
I have a temporary solution in place, i.e. i have an http handler before the
Biztalk HTTP adapter which intercepts the request from SONIQ and the
initiates another HTTP request to Biztalk HTTP adapter. The Orchestration
performs the business logic and populates a response xml which is sent as
part of the response header. The response xml is read by the http handler
(the response xml contains the status codes and description) and the http
context is altered accordingly to send the status code and description back
to the calling client (SONIQ). To be clearer, the http handler acts as a
middle man b/w SONIQ and Biztalk.
Disadvantage I see with the above approach is that there could be 2 threads
created for a single IDoc received (In real time there will be nearly 40,000
idocs posted). So, I dont want 2 threads created. Also, I dont want anything
in b/w SONIQ and Biztalk HTTP adapter.
I would want to implement a neat way of having SONIQ post XML over HTTP post
and Biztalk reading them, processing them and send the appropriate HTTP
status code and description back to SONIQ.
Hope I was able to explain my requirement clearly. Kindly let me know if you
need any additional information.
Thanks in advance!
Regards,
Red
"Karahan Celikel [MSFT]" wrote:
> Red,
> The fix 837441 is for overriding the HTTP headers. HTTP status code is not
> part of the http response header, that's why you can't override it using
> this method.
>
> Can you please provide more details?
>
> What is your general scenario and requirements?
> Why do you need to send a different HTTP response code to the client?
> Will it be enough for you just to send 200 and 500 codes? or do you need to
> have more coverage?
>
> We really would like to hear from you about your requirements so that we
> can find a solution, and incorporate your valuable feedback into the next
> version.
>
> Thanks
>
>
> --------------------
> possible.
> setting
>
> This posting is provided "AS IS" with no warranties, and confers no rights.
>
> Business Process Integration Team
>
>
| |
| Karahan Celikel [MSFT] 2005-06-15, 6:00 pm |
| Red,
After further investigation, I figured out that HTTP receive adapter
returns only 200 status code back to the client.
Unfortunately, there is no way to set custom status codes/descriptions in
BizTalk 2004.
If you feel that this should be fixed as a hotfix, please open a PSS case
and we can see if we can fix this. Please note, there is no guarantee you
will get the fix.
Thanks for your feedback.
This posting is provided "AS IS" with no warranties, and confers no rights.
Business Process Integration Team
--------------------[vbcol=seagreen]
<vo8h3hIcFHA.2476@TK2MSFTNGXA01.phx.gbl>[vbcol=seagreen]
system[vbcol=seagreen]
system[vbcol=seagreen]
Soniq[vbcol=seagreen]
the[vbcol=seagreen]
perform[vbcol=seagreen]
has[vbcol=seagreen]
a[vbcol=seagreen]
and[vbcol=seagreen]
and[vbcol=seagreen]
of[vbcol=seagreen]
since[vbcol=seagreen]
the[vbcol=seagreen]
back[vbcol=seagreen]
threads[vbcol=seagreen]
40,000[vbcol=seagreen]
anything[vbcol=seagreen]
post[vbcol=seagreen]
you[vbcol=seagreen]
not[vbcol=seagreen]
using[vbcol=seagreen]
need to[vbcol=seagreen]
we[vbcol=seagreen]
next[vbcol=seagreen]
Orchestration.[vbcol=seagreen]
microsoft.public.biztalk.orchestration:6482[vbcol=seagreen]
within[vbcol=seagreen]
HTTP[vbcol=seagreen]
rights.[vbcol=seagreen]
| |
|
| Hi,
We are working on opening a PSS case. Thank you very much for your help and
guidance.
Regards,
Red
"Karahan Celikel [MSFT]" wrote:
> Red,
>
> After further investigation, I figured out that HTTP receive adapter
> returns only 200 status code back to the client.
>
> Unfortunately, there is no way to set custom status codes/descriptions in
> BizTalk 2004.
>
> If you feel that this should be fixed as a hotfix, please open a PSS case
> and we can see if we can fix this. Please note, there is no guarantee you
> will get the fix.
>
> Thanks for your feedback.
>
> This posting is provided "AS IS" with no warranties, and confers no rights.
>
> Business Process Integration Team
>
> --------------------
> <vo8h3hIcFHA.2476@TK2MSFTNGXA01.phx.gbl>
> system
> system
> Soniq
> the
> perform
> has
> a
> and
> and
> of
> since
> the
> back
> threads
> 40,000
> anything
> post
> you
> not
> using
> need to
> we
> next
> Orchestration.
> microsoft.public.biztalk.orchestration:6482
> within
> HTTP
> rights.
>
>
|
|
|
|
|