473,608 Members | 2,667 Online
Bytes | Software Development & Data Engineering Community
+ Post

Home Posts Topics Members FAQ

Logging web service calls

Hello,

I have the situation: I've got an application that calls lots of web
services, throught the Internet. I need to keep track of every web service
call (every data that's transfered), and log it into a DB. Some WS uses SSL.
What's the best way to do this?

Thanks
Nov 21 '05 #1
2 7233
Galore wrote:
I've got an application that calls lots of web services, throught the
Internet. I need to keep track of every web service call (every data
that's transfered), and log it into a DB. Some WS uses SSL.


This sounds like a good candidate for creating an infrastructure service
that would sit in the message processing pipeline and logs the SOAP message
to a database. An infrastructure service is a Web service that is configured
to process the SOAP message on its way in or out of a service. This is the
same mechanism used for securing the message, attachments, etc., so far from
being escoteric, that's what the message processing pipeline is designed
for. One major advantage of this approach is that one logging infrastructure
service is all that you'll need, you don't have to write custom code for
each client or service they call to make it work. See Figure 2 in
Messaging -- Application Architecture: Conceptual View [1] for what the
message processing pipeline looks like architecturally .

Also, because the logging infrastructure service intercepts SOAP messages in
the message processing pipeline, that makes it compeletely independent of
transport security such as SSL: a message outbound from your application
will be processed through the entire pipeline before it is passed to the
transport channel where it gets encrypted; similarly, incoming messages are
decrypted on the transport before they are processed by the inbound message
processing pipeline.

How you implement and configure an infrastructure service depends on what
technology you are using. With ASP.NET XML Web Services (ASMX), take a look
at SOAP Extensions [2].

In WSE 2.0, infrastructure services may be configured through WS-Policy [3],
although writing a custom logging policy may be somewhat more challenging.

Cheers,
Stuart Celarier, Fern Creek

[1] http://msdn.microsoft.com/library/en...nmessaging.asp
[2]
http://msdn.microsoft.com/library/en...extensions.asp
[3] http://msdn.microsoft.com/library/en...derstwspol.asp
Nov 21 '05 #2
Hmm, this looks like what I need! I'll study this stuff, then I'll tell you
if it fit...
But one more question, Stuart. SOAP Extension can be used to log what is
sent by my Web Service, but I can use it to log what comes to my
application, from an external Web Service? I'll have both situations on my
app.

Thanks a lot.
"Stuart Celarier" <stuart at ferncrk dot com> wrote in message
news:eF******** ******@TK2MSFTN GP14.phx.gbl...
Galore wrote:
I've got an application that calls lots of web services, throught the
Internet. I need to keep track of every web service call (every data
that's transfered), and log it into a DB. Some WS uses SSL.
This sounds like a good candidate for creating an infrastructure service
that would sit in the message processing pipeline and logs the SOAP

message to a database. An infrastructure service is a Web service that is configured to process the SOAP message on its way in or out of a service. This is the
same mechanism used for securing the message, attachments, etc., so far from being escoteric, that's what the message processing pipeline is designed
for. One major advantage of this approach is that one logging infrastructure service is all that you'll need, you don't have to write custom code for
each client or service they call to make it work. See Figure 2 in
Messaging -- Application Architecture: Conceptual View [1] for what the
message processing pipeline looks like architecturally .

Also, because the logging infrastructure service intercepts SOAP messages in the message processing pipeline, that makes it compeletely independent of
transport security such as SSL: a message outbound from your application
will be processed through the entire pipeline before it is passed to the
transport channel where it gets encrypted; similarly, incoming messages are decrypted on the transport before they are processed by the inbound message processing pipeline.

How you implement and configure an infrastructure service depends on what
technology you are using. With ASP.NET XML Web Services (ASMX), take a look at SOAP Extensions [2].

In WSE 2.0, infrastructure services may be configured through WS-Policy [3], although writing a custom logging policy may be somewhat more challenging.

Cheers,
Stuart Celarier, Fern Creek

[1] http://msdn.microsoft.com/library/en...nmessaging.asp [2]
http://msdn.microsoft.com/library/en...ringsoapmessag
eusingsoapexten sions.asp [3] http://msdn.microsoft.com/library/en...derstwspol.asp

Nov 21 '05 #3

This thread has been closed and replies have been disabled. Please start a new discussion.

Similar topics

0
1653
by: Robert.Schmitt | last post by:
I found that the configuration system of the new logging package of Python 2.3 has some unintuitive idiosyncracies that are worth mentioning because they can cost you quite some development time and are not documented elsewhere. I used the logging configuration file shown below. My aim was to log only the INFO messages, but log DEBUG messages for one particular module (called webTestLogin.py).
6
9954
by: Kevin Jackson | last post by:
Let's say we log exceptions to the windows application event log using the Exception Management Application Block. Is there a pattern that can be used so the exception is logged only once and not everytime up through the call chain? Is there anything a caller can key off of to check to see if it should also log the exception?
7
1536
by: Leo Breebaart | last post by:
I have another question where I am not so much looking for a solution but rather hoping to get some feedback on *which* solutions people here consider good Pythonic ways to approach a issue. The situation is this: I am writing fairly large console scripts in Python. They have quite a few command-line options, which lead to configuration variables that are needed all over the program (e.g. the "--verbose" option alone is used by just...
3
11528
by: Chris Shenton | last post by:
I am setting up handlers to log DEBUG and above to a rotating file and ERROR and above to console. But if any of my code calls a logger (e.g., logging.error("foo")) before I setup my handlers, the logging system will create a default logger that *also* emits logs, which I can't seem to get rid of. Is there a way I can suppress the creation of this default logger, or remove it when I 'm setting up my handlers? Thanks. Sample code:
10
1788
by: jaleel | last post by:
Hi , i would like to reopen the issue in the post http://www.gamedev.net/community/forums/topic.asp?topic_id=418791. My scenario is like this: 1. A web application is there (being created by some other company) 2. We develop the business layer and data access layer.
2
1957
by: Vinay Sajip | last post by:
Some users of the logging package have raised an issue regarding the difficulty of passing additional contextual information when logging. For example, the developer of a networked application may want to log, in addition to specifics related to to the network service being provided, information about the IP address of the remote machine and the username of the person logged into and using the service. Python 2.4 introduced an 'extra'...
17
2740
by: Cramer | last post by:
I plan to implement an exception logging feature in an ASP.NET Web application that writes encountered exceptions to disk. The exception data will be stored as XML. I am planning on having each exception written to its own XML file. I plan to NOT append exceptions to a single XML file because I don't want for the exception logging component to have to deal with contention for access to the file. This is possible when, for example,...
1
2415
by: nathan.alden | last post by:
I have a Windows application that must "log in" to a remote service. Once logged in, for all subsequent service calls the Windows application should somehow pass a "session context" in each message to the service, which will then be compared to session information stored in SQL Server. However, for each service call a new client proxy is created, i.e. I'm not reusing the same proxy over and over. Essentially, I need to emulate what...
5
1583
by: Daniel S | last post by:
Hi, I'm new here. I'm using the Logging Application Block with Enterprise Library 3.1. My program works correctly on my XP developer station, but on the 2003 Server, no new entries appear in the Application log after calls to Microsoft.Practices.EnterpriseLibrary.Logging.Logger.Write(object message), but those calls aren't throwing exceptions, either.
0
8050
marktang
by: marktang | last post by:
ONU (Optical Network Unit) is one of the key components for providing high-speed Internet services. Its primary function is to act as an endpoint device located at the user's premises. However, people are often confused as to whether an ONU can Work As a Router. In this blog post, we’ll explore What is ONU, What Is Router, ONU & Router’s main usage, and What is the difference between ONU and Router. Let’s take a closer look ! Part I. Meaning of...
0
8472
Oralloy
by: Oralloy | last post by:
Hello folks, I am unable to find appropriate documentation on the type promotion of bit-fields when using the generalised comparison operator "<=>". The problem is that using the GNU compilers, it seems that the internal comparison operator "<=>" tries to promote arguments from unsigned to signed. This is as boiled down as I can make it. Here is my compilation command: g++-12 -std=c++20 -Wnarrowing bit_field.cpp Here is the code in...
1
8130
by: Hystou | last post by:
Overview: Windows 11 and 10 have less user interface control over operating system update behaviour than previous versions of Windows. In Windows 11 and 10, there is no way to turn off the Windows Update option using the Control Panel or Settings app; it automatically checks for updates and installs any it finds, whether you like it or not. For most users, this new feature is actually very convenient. If you want to control the update process,...
0
8324
tracyyun
by: tracyyun | last post by:
Dear forum friends, With the development of smart home technology, a variety of wireless communication protocols have appeared on the market, such as Zigbee, Z-Wave, Wi-Fi, Bluetooth, etc. Each protocol has its own unique characteristics and advantages, but as a user who is planning to build a smart home system, I am a bit confused by the choice of these technologies. I'm particularly interested in Zigbee because I've heard it does some...
1
6000
isladogs
by: isladogs | last post by:
The next Access Europe User Group meeting will be on Wednesday 1 May 2024 starting at 18:00 UK time (6PM UTC+1) and finishing by 19:30 (7.30PM). In this session, we are pleased to welcome a new presenter, Adolph Dupré who will be discussing some powerful techniques for using class modules. He will explain when you may want to use classes instead of User Defined Types (UDT). For example, to manage the data in unbound forms. Adolph will...
0
5471
by: conductexam | last post by:
I have .net C# application in which I am extracting data from word file and save it in database particularly. To store word all data as it is I am converting the whole word file firstly in HTML and then checking html paragraph one by one. At the time of converting from word file to html my equations which are in the word document file was convert into image. Globals.ThisAddIn.Application.ActiveDocument.Select();...
0
3954
by: TSSRALBI | last post by:
Hello I'm a network technician in training and I need your help. I am currently learning how to create and manage the different types of VPNs and I have a question about LAN-to-LAN VPNs. The last exercise I practiced was to create a LAN-to-LAN VPN between two Pfsense firewalls, by using IPSEC protocols. I succeeded, with both firewalls in the same network. But I'm wondering if it's possible to do the same thing, with 2 Pfsense firewalls...
1
2464
by: 6302768590 | last post by:
Hai team i want code for transfer the data from one system to another through IP address by using C# our system has to for every 5mins then we have to update the data what the data is updated we have to send another system
0
1318
bsmnconsultancy
by: bsmnconsultancy | last post by:
In today's digital era, a well-designed website is crucial for businesses looking to succeed. Whether you're a small business owner or a large corporation in Toronto, having a strong online presence can significantly impact your brand's success. BSMN Consultancy, a leader in Website Development in Toronto offers valuable insights into creating effective websites that not only look great but also perform exceptionally well. In this comprehensive...

By using Bytes.com and it's services, you agree to our Privacy Policy and Terms of Use.

To disable or enable advertisements and analytics tracking please visit the manage ads & tracking page.