Code Like Vikings
Thursday, April 14, 2022
Ken is awesome? Part I
Monday, June 1, 2020
Monday, December 1, 2014
Adding SOAP prefix to ASMX service using SOAP extensions
Just a preamble here I received the requirement from a third party vendor to add a specific prefix to my soap response. Even know in XML these two formats are equal.
I was required to add it regardless because I assume they were parsing this manually with java or some other client. I came upon these two articles by one of my favorite developers/bloggers Scott Hanselman really the basis of everything I've done here so here is credit where it is do.Modifying the namespace PREFIX of the root node of the body of a SOAP Web Services Response....whew!
He apparently ran into the same exact issues with a client who was not satisfied with the soap response he was giving them even know it was exactly the same as the one they were requesting. Anyone that makes you add a prefix to your soap response is probably doing something terribly wrong at the risk of my soul going to hell I was not about to email Scott to confirm the fact I am a scrub and indeed was in need of a fix I did some research and was able to create my own implementation. ***WARNING DO NOT USE UNLESS YOU ARE BETWEEN A ROCK AND A HARD PLACE GO WCF INSTEAD***
First you will want to register the soap extension in your web.config file under the system.web tag as follows:
Just replace the items accordingly and know your assembly file name is most likely your project name if your project is named test then test is your most likely candidate.
Here is the code and once again credit to Scott Hanselman because I used another article he wrote for the implementation of removing white spaces to write this extension with some minor changes in naming convention and the addition of serialization to the xmldocument object and then writing it back to the response stream.
Last of all just add the attribute to your webmethods that you would like to use this prefix on. [Prefix] also make sure you are referencing System.ComponentModel.DataAnnotations
Hopefully this helps some poor guy out there that has been put in a hard spot like myself last week. I could not find anywhere this information was in one place and was accessible.
Wednesday, May 28, 2014
There are other types that are objects, arrays, and functions. Objects are used to hold data as properties as well as perform tasks via defined functions when they are attached to an Object most refer to them as methods. Arrays also hold data but that is their main purpose. Function executes a snippet of logic takes parameters and usually returns values. Here are a few examples of the more complex types as follows:
To open a scratch pad just click on the orange Firefox menu in the top left corner of the browser and then select Web Developer = > Scratch pad
You will find that this opens in the browser and congratulations you are starting to code like Vikings. I'll catch you next week with some more fun.
Tuesday, May 20, 2014
So this next section is a rundown of what I personally know about JS off the top of my head. I'm sure I'm going to leave a few things out my apologies. I don't claim to be awesome just another scrub trying to earn a buck for his family who needs new shoes and electronics. So now that the disclaimer is out of the way lets talk techy for a bit.
So that is what I have for now buckle up next week I'll start going over the types and assigning variables. Then onward and upward. Remember to code like Vikings. :D
Tuesday, May 6, 2014
Chrome Auto Fill Honey Pot Hack
So today I have to say chrome actually is making me a bit heated. It's like my child that is always my good one just decided to go bad to get some attention. I still love you chrome but here we go. Today on my website I have a settings page where the user can update their username and a new password. If the user however has chosen to save password information upon login you get these very non stylish yellow boxes.
So I was thinking about my current research on honey pots to stop bots from autofilling your username and password fields and I thought why not stop the chrome monster from doing the same thing to my settings page. It's ironic that I'm using hacking prevention to fix an issue with chrome. So here is an easy fix for the man that doesn't want the tacky dom load change.
Place an input above your other fields you do not want filled.
Set the style to display none and the end user will not ever know it's there. Also no yellow boxes. This may not be the most eligent fix but I thought I would throw a twist on the posts I saw out there already.
I should also throw some credit to Phil Haack who's article I was reading to try to replace my captchas.
Tuesday, March 25, 2014
Adding Bootstrap Classes to MVC @Html elements
Just started a project at work building an employee management website with MVC4 and I'm really impressed so far with what I've seen very good product from Microsoft. Later on I'll supplement this blog with a full website example in MVC4 also I have toyed with a series on WCF web services which are my forte at the moment I have written quite a few webservices using the WCF technology and have learned some cool tricks but back to the matter at hand.
I started this new web project using twitter bootstrap I've been primarily a backend guy and twitter bootstrap really makes sense for me. I hate dealing with custom styles and building the foundation CSS tools that I need to make my website Twitter bootstrap gives you all those tools right out of the box. No more worrying about layout and disign or dynamic layout it's all included and with the following tools you can build a template and just include it in your project and the bulk of your CSS is done.
So once you add these style sheets and a jquery reference how do we add these styles to our MVC4 elements? Well it's actually quite easy. First thing you must know when you are using the MVC4 @Html elements they take parameters. The first specifies a binding to your Model object you will see this association threw a lamba expression depending on which element you are currently using. Then you have some controller options if the element is an action element such as a link that redirects to another page. After that these element take a generic object for a parameter and that is where the magic happens. There you can access all the attributes of the DOM including the style class.
Here are a couple of examples:
So you can see here in the first example this is an action controller that redirects the the "Alerts" method on the "Dashboard" Controller and the value of my link is "Alerts" as well this is what will show up on the page. Also I added the boostrap classes for the button so this link should look great when it renders on the page.
So the second example same story also you will see that I added a water mark to the text box as well. So you can see all attributes are accessible. So when I stack a few of these links I can make a nice little menu.
Here is my textbox with the water mark:
I really hope this helps someone else out mostly I keep this blog so when I forget something I've learned I can come back and check it out save some time. Hope this also saves other developers time as well. Remember to code like vikings!!!