Write Log Messages to Third Party REST service with NLog - web-services

Looking for a way to send messages with NLog to a third party REST api.
Most of the examples I have seen how to post log messages to a service in which the endpoint can be modified to fit what NLog wants.
For some context to the problem. We are using Octopus deploy. One of the components to our app is SSRS reports that are surfaced through the app. The RDL files deployed to the SSRS server require dependent data to be written to the app database.
We have a command line tool that handles that - but it requires someone to run the tool.
I want to add the tool as a the last step in the deployment process of the RDL files. All simple enough.
The challenge is the tool writes problems / exceptions to a log file. What I want to do is put another target in the NLog config so that I can post those messages back to the Octopus server - this way the Release Engineers deploying don't have to log in to the remote server to diagnose problems.
Octopus has a very robust REST api (they even have .NET client already written). Is there a way to wrap this client in a NLog ServiceTarget extension?

Related

Creating a New Web Service Consumer Domino

I am trying to import a WSDL in to my Domino Designer 9.0.1 client. I have downloaded the WSDL file and specify it in the Local File part of the wizard.
I click OK and get the error
"The requested operation failed. Server redirected too many times (20)"
I have imported other WSDL's without a problem and the only difference with the one I now need, is that I need to login to see the WSDL.
Does this stop the wizard?
If so, is the only option writing the java agent from scratch to access the data?
Obviously I cannot provide the actual wsdl I am trying to attach to as it is a paid service, so not sure what other information I can provide to help find a solution.
Thanks
Graeme

Apache ODE BPEL Deployment with a webservice (file transfer)

I'd like to write a axis2 webservice for deploying BPEL Processes on a Apache ODE.
At the moment I have two main issues/questions.
I wrote a simple WS that creates a file.
It works fine in eclipse with a integrated apache tomcat with axis2.
But if I run the service on the exact same server without ecplise it won't work and I get 'Unhandled IOException' Errors, although I have the handling implemented (otherwise ecplise would cry about it all the time).
EDIT: I solved it by not uploading the service.aar with axis2 but putting it in the /webapps folder.
How do I get access to the folder were I need to put the BPEL files?
Is it obligatory that the service runs on the same server as the ODE?
EDIT: Getting access to the folder on the same server is an easy one with 1.
How do I transfer files with a webservice?
Better: How do I implement it?
Regarding 2) you can use the deployment API exposed by ODE. This allows for transfering deployment units (zip files containing BPELs, WSDLs, DDs) via SOAP to ODE and starting the deployment.
The WSDL is available at http://.../processes/DeploymentService?wsdl, on the default installation that would be http://localhost:8080/ode/processes/DeploymentService?wsdl

ATL Web service Logging

I have created a c++ ATL web service in visual studio 2005. I want to have detailed logs for my web service as what request come or weather any exception happened during the Database call.
I am hosting my web service through IIS. I know that IIS create a log file if logging is enabled But i want to have some more control over those logs in terms of format.
Is there any method to use IIS system itself to implement our own logs inside that log file or
Should I implement a multithreaded logging system which will push logs to a text file.
Thanks
If you want logging beyond what IIS offers natively, you will either have to implement your own logger or make use of any of dozens of loggers already out there.
One that a lot of people love is Peantheios: http://www.pantheios.org/
There are many out there.
The simple answer to your question, though, is that IIS does not have built-in facilities for logging beyond what you see in the GUI.

Using Axis to generate a web service implementation that calls another web service

I need to provide an implementation of a web service for which I have the WSDL, to run under Weblogic 9.2.
I aim to use the Axis (1, not 2) tools for this , having tried and failed to make it work with thw weblogic web service generation tools (due to an inability to set the authentication - see my other question here),
This web service needs to make calls to another web service (for which I also have the WSDL).
I can use the Axis tools to generate the client stubs etc.
But how do I do the two in combination? Is there a tutorial or other step by step guide? I have googled and found some mailing list postings, but they're about specific issues.
If someone's done it, could they share the relevant parts of their build.xml for this?
If I used the weblogic web service generation tools, there's a tool that in one go generates the skeleton implementation of the web service and the client stubs for the web service it calls - is there something similar in Axis?
Any gotchas if I just try to mash up the skeleton and client generation output from WSDL2Java?
Update:
Got this to work.
Used the Eclipse tools to build the client, then the service, allowing the second to overwrite the duplicate files from the first. We then had some issues with the client_deploy.wsdd file (see my other question How do I refer to a client_deploy.wsdd file that's in WEB-INF?) and with jar versions (needed to update the jars that Axis uses to newer version), then it just worked.
Speaking for axis2, you can create the client stub like this (I reckon axis1 is not much different):
/wsdl2java.sh -uri webservice.wsdl -p com.your.client.package -d adb -s -o output_folder_client
Once you have the client package you should be able to use it in your own webservice implementation by just importing it, creating a client instance and submitting requests.

Is there a way to bind my flex builder to my django application

I am trying to create simple flex application, which uses django as a back-end part. Have a question:
Usually when I run my application Flex Builder creates a file in a directory on my local PC and then opens a browser and points to it. Everything was fine, but when I decided to link django server to flex applications via xml data providers I started to get security errors. (Related to absence of crossdomain.xml). When I created the file and put it on the server:
<?xml version="1.0"?>
<!-- http://www.foo.com/crossdomain.xml -->
<cross-domain-policy>
<allow-access-from domain="http://127.0.0.1:8000"/>
<allow-access-from domain="127.0.0.1"/>
</cross-domain-policy>
Then tried the application again, I got error in console of my FB Error: Request for resource at http://127.0.0.1:8000/go/active/ by requestor from file:///Users/oleg/Documents/FB3/usersList/bin-debug/usersList.swf is denied due to lack of policy file permissions.
I don't know how to fix the error. But also the question is there a way to configure FB3 to put my swf files to the server directly, so I will not need any crossdomain?
Thanks
Oleg
We struggled with this a lot. The Flex security stuff didn't strike me as well built, but perhaps we just had different approaches in mind than Adobe's developers. The solution that worked for us was to serve both the SWF and the dynamic data from the same host and port.
On our development boxes, we tell Apache to serve the SWF from a directory in the workspace, and the dynamic data from a local copy of the app. When we push to production, SWF and app get pushed simultaneously to the same virtual host.
If that's inconvenient for you, the Apache ProxyPass directive can be used to make Apache front for other servers. I've not used that in production, but it's been very handy for developer setups.
I don't know a way to get FlexBuilder to automatically deploy your changed SWF; you could certainly look into an automation approach (like Maven and Flex-Mojos) to make that happen.
That said, getting rid of that error is usually just a matter of adding a policy file to the server.
The second error is caused because you're trying to fetch http resources from a "file" location. My recommendation is that you change your Flex Builder project so it outputs to a location within the Django web site, rather than to the flex-bin directory. This setting can be changed in the properties dialog of the project. Then, you should be able to have your front-end and back-end share the same protocol and domain.