<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:georss='http://www.georss.org/georss' xmlns:gd='http://schemas.google.com/g/2005' xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-8891523348462874151</id><updated>2011-09-28T21:31:22.752-07:00</updated><title type='text'>beetsaround</title><subtitle type='html'>miscellaneous comments and clarifying references</subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://beetsaround.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8891523348462874151/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://beetsaround.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>Todd Beets</name><uri>http://www.blogger.com/profile/13755964672582236472</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://3.bp.blogspot.com/_FOsffwQMLyc/THWuuuu5DoI/AAAAAAAAABE/mXSc8QiQ05U/S220/tbeets.jpg'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>21</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-8891523348462874151.post-249015784083075316</id><published>2010-12-31T22:17:00.001-08:00</published><updated>2010-12-31T22:17:05.164-08:00</updated><title type='text'>A useful Latin bit that I missed in the first 39 years…</title><content type='html'>&lt;p&gt;This evening I came across the Latin phrase c&lt;em&gt;eteris paribus &lt;/em&gt;and its &lt;a href="http://en.wikipedia.org/wiki/Ceteris_paribus" target="_blank"&gt;modern usage and understanding&lt;/a&gt;.&amp;nbsp; It is said to be often used in the fields of economics and science but some how I overlooked (or over-read) it till now.&amp;nbsp; It is a very useful phrase in &lt;em&gt;enterprise architecture&lt;/em&gt; work – where of-course it often seems like the rule is that nothing remains equal or held constant for long, but nevertheless we must progress proactively.&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8891523348462874151-249015784083075316?l=beetsaround.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://beetsaround.blogspot.com/feeds/249015784083075316/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8891523348462874151&amp;postID=249015784083075316' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8891523348462874151/posts/default/249015784083075316'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8891523348462874151/posts/default/249015784083075316'/><link rel='alternate' type='text/html' href='http://beetsaround.blogspot.com/2010/12/useful-latin-bit-that-i-missed-in-first.html' title='A useful Latin bit that I missed in the first 39 years…'/><author><name>Todd Beets</name><uri>http://www.blogger.com/profile/13755964672582236472</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://3.bp.blogspot.com/_FOsffwQMLyc/THWuuuu5DoI/AAAAAAAAABE/mXSc8QiQ05U/S220/tbeets.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8891523348462874151.post-7347547318014617668</id><published>2010-12-11T21:17:00.001-08:00</published><updated>2010-12-11T21:17:53.012-08:00</updated><title type='text'>Breakfast with Santa 2010!</title><content type='html'>&lt;p&gt;&amp;nbsp;&lt;/p&gt; &lt;p&gt;&lt;a href="http://lh3.ggpht.com/_FOsffwQMLyc/TQRa_opkMRI/AAAAAAAAACY/gKLjp_wAkd8/s1600-h/Breakfast%20with%20Santa%202010%20006%5B2%5D.jpg"&gt;&lt;img style="background-image: none; border-bottom: 0px; border-left: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top: 0px; border-right: 0px; padding-top: 0px" title="Breakfast with Santa 2010 006" border="0" alt="Breakfast with Santa 2010 006" src="http://lh6.ggpht.com/_FOsffwQMLyc/TQRa_5A2_lI/AAAAAAAAACc/oVvChYn__Vs/Breakfast%20with%20Santa%202010%20006_thumb.jpg?imgmax=800" width="164" height="244"&gt;&lt;/a&gt;&lt;/p&gt; &lt;p&gt;Bryn &amp;amp; Paige had a great time this morning at Canterwood’s annual Breakfast with Santa.&amp;nbsp; Paige is continuing Santa-sitting tradition by looking a bit suspicious of the whole affair.&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8891523348462874151-7347547318014617668?l=beetsaround.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://beetsaround.blogspot.com/feeds/7347547318014617668/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8891523348462874151&amp;postID=7347547318014617668' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8891523348462874151/posts/default/7347547318014617668'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8891523348462874151/posts/default/7347547318014617668'/><link rel='alternate' type='text/html' href='http://beetsaround.blogspot.com/2010/12/breakfast-with-santa-2010.html' title='Breakfast with Santa 2010!'/><author><name>Todd Beets</name><uri>http://www.blogger.com/profile/13755964672582236472</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://3.bp.blogspot.com/_FOsffwQMLyc/THWuuuu5DoI/AAAAAAAAABE/mXSc8QiQ05U/S220/tbeets.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://lh6.ggpht.com/_FOsffwQMLyc/TQRa_5A2_lI/AAAAAAAAACc/oVvChYn__Vs/s72-c/Breakfast%20with%20Santa%202010%20006_thumb.jpg?imgmax=800' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8891523348462874151.post-7272977920171815727</id><published>2010-11-10T14:57:00.000-08:00</published><updated>2010-11-10T15:02:37.941-08:00</updated><title type='text'>Example of using Apache mod_proxy_balancer with WebLogic</title><content type='html'>For research and architecture purposes, I needed a lightweight way to balance traffic to a WebLogic cluster of two servers. &amp;nbsp;OHS with mod_weblogic plugin or a hardware load balancer is what is used in production, but I wanted a quick, light, and dirty solution for sandbox work.&lt;br /&gt;
&lt;br /&gt;
Apache and mod_proxy_balancer fits the bill. &amp;nbsp;Here is my Apache httpd.conf file section showing the requisite configuration:&lt;br /&gt;
&lt;br /&gt;
&lt;script type="syntaxhighlighter" class="brush: xml"&gt;
&lt;![CDATA[
# TB - load balance two WebLogic managed servers in "mycluster" on soabpm-vm using apache's mod_proxy_balancer
&lt;virtualhost 127.0.0.1:8080&gt; 
 ServerAdmin tbeets@qualcomm.com
 ServerName TBEETS1.na.qualcomm.com
 
 # mod_proxy_balancer doesn't have a client xref table (for arbritary cookie sessionid), it needs to parse a route identifier
 # from the designated cookie or header to match up with the BalancerMember.  Quickest route is just to have Apache 
 # add its own cookie rather than futzing with WebLogic cluster host semantics etc.  Of course mod_weblogic does this...
 
 Header add Set-Cookie "ROUTEID=.%{BALANCER_WORKER_ROUTE}e; path=/" env=BALANCER_ROUTE_CHANGED
 
 &lt;proxy balancer://mycluster&gt;
  BalancerMember http://soabpm-vm:8001 route=1
  BalancerMember http://soabpm-vm:9001 route=2
  ProxySet stickysession=ROUTEID
 &lt;/Proxy&gt;

 # Don't proxy the balancer manager
 ProxyPass /balancer-manager !
 
 # Proxy everything (accept balancer manager taken care of above)
 # note: trailing slash on second argument required if first argument ends in trailing slash...
 ProxyPass / balancer://mycluster/
 
 # Still trying to grok this and whether it is needed -- think it relates to re-mapping physical server redirects, 
 # but this should be taken care of by WebLogic's Cluster HTTP FrontEnd and Port settings...
 ProxyPassReverse / http://soabpm-vm:8001/
 ProxyPassReverse / http://soabpm-vm:9001/
 
 &lt;location /balancer-manager&gt;
  SetHandler balancer-manager
 &lt;/Location&gt; 
&lt;/VirtualHost&gt;

# TB - END
]]&gt;
&lt;/script&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8891523348462874151-7272977920171815727?l=beetsaround.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://beetsaround.blogspot.com/feeds/7272977920171815727/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8891523348462874151&amp;postID=7272977920171815727' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8891523348462874151/posts/default/7272977920171815727'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8891523348462874151/posts/default/7272977920171815727'/><link rel='alternate' type='text/html' href='http://beetsaround.blogspot.com/2010/11/example-of-using-apache.html' title='Example of using Apache mod_proxy_balancer with WebLogic'/><author><name>Todd Beets</name><uri>http://www.blogger.com/profile/13755964672582236472</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://3.bp.blogspot.com/_FOsffwQMLyc/THWuuuu5DoI/AAAAAAAAABE/mXSc8QiQ05U/S220/tbeets.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8891523348462874151.post-20560646889289941</id><published>2010-10-02T17:35:00.000-07:00</published><updated>2010-10-02T17:35:51.257-07:00</updated><title type='text'>Discovery Village opening in November</title><content type='html'>Just a quick note about the exciting opening of &lt;a href="http://www.discovery-village.com/"&gt;Discovery Village&lt;/a&gt; in Gig Harbor, WA towards the end of November.  We're all very excited!  &lt;br /&gt;
&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://www.discovery-village.com/wpimages/wp17989d00_05.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://www.discovery-village.com/wpimages/wp17989d00_05.jpg" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8891523348462874151-20560646889289941?l=beetsaround.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://beetsaround.blogspot.com/feeds/20560646889289941/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8891523348462874151&amp;postID=20560646889289941' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8891523348462874151/posts/default/20560646889289941'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8891523348462874151/posts/default/20560646889289941'/><link rel='alternate' type='text/html' href='http://beetsaround.blogspot.com/2010/10/discovery-village-opening-in-november.html' title='Discovery Village opening in November'/><author><name>Todd Beets</name><uri>http://www.blogger.com/profile/13755964672582236472</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://3.bp.blogspot.com/_FOsffwQMLyc/THWuuuu5DoI/AAAAAAAAABE/mXSc8QiQ05U/S220/tbeets.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8891523348462874151.post-2412886606096575140</id><published>2010-09-25T22:16:00.000-07:00</published><updated>2010-09-25T22:16:26.321-07:00</updated><title type='text'>Fun with OneKey Recovery on a Lenovo G550</title><content type='html'>I purchased a nifty Lenovo G550 laptop at Office Depot for $399 a couple weeks ago. Great machine at an astonishing price point.&lt;br /&gt;
&lt;br /&gt;
Of course I immediately created &lt;i&gt;factory default recovery&lt;/i&gt; disks (two DVD-R disks) so I could always return to as new including Windows 7 Home Premium etc. This worked fine.&lt;br /&gt;
&lt;br /&gt;
Tonight I went to create a second set of factory default recovery disks -- I had given my original set to my Grandpa Bob who picked up an identical G550 for same great price -- and immediately encountered a road block as the OneKey Recovery 7.0 program was unable to find the service partition.  The service partition on a Lenovo G550 is an ~15 GB hidden partition that has the ~8 GB factory image on it.  Hmmmm...&lt;br /&gt;
&lt;br /&gt;
Somehow my "hidden" &lt;i&gt;service partition had become unhidden&lt;/i&gt; and was sitting in Windows Explorer as the O: drive with label LENOVO_PART. After an hour or so of googling around and noticing a few other hapless souls were in my same predicament, I hit upon the expedient solution and then afterwards realized what had happened.&lt;br /&gt;
&lt;br /&gt;
The solution is to (carefully) use the windows command line &lt;b&gt;diskpart.exe&lt;/b&gt; utility to toggle the service partition's ID back to 12 (a hidden OEM code) from the errant ID 7 (visible normal code).  After doing so, partition dissapears from explorer and OneKey Recovery 7.0 finds it normally and can make factory recovery disks.&lt;br /&gt;
&lt;br /&gt;
After correcting the issue, I ran OneKey Recovery 7.0 while keeping an eye on an open Windows Explorer. Sure enough, when you ask OneKey to create a factory restore disk, it momentarily toggles the service partition's ID to visible (7) and then toggles it hidden again as you click through the factory disks wizard. At some point during my original use of OneKey, it must have died (or I killed it) mid stream and before it set the partition back to OEM hidden (12).  I suspect this is a bug in OneKey.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8891523348462874151-2412886606096575140?l=beetsaround.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://beetsaround.blogspot.com/feeds/2412886606096575140/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8891523348462874151&amp;postID=2412886606096575140' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8891523348462874151/posts/default/2412886606096575140'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8891523348462874151/posts/default/2412886606096575140'/><link rel='alternate' type='text/html' href='http://beetsaround.blogspot.com/2010/09/fun-with-onekey-recovery-on-lenovo-g550.html' title='Fun with OneKey Recovery on a Lenovo G550'/><author><name>Todd Beets</name><uri>http://www.blogger.com/profile/13755964672582236472</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://3.bp.blogspot.com/_FOsffwQMLyc/THWuuuu5DoI/AAAAAAAAABE/mXSc8QiQ05U/S220/tbeets.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8891523348462874151.post-6485802137015601019</id><published>2010-08-26T09:50:00.000-07:00</published><updated>2010-08-26T09:52:26.227-07:00</updated><title type='text'></title><content type='html'>Example of using a &lt;a href="http://www.w3.org/TR/wsdl#_documentation"&gt;wsdl:documentation element&lt;/a&gt; to annotate a service contract with human-readable information (such as terms of use).&lt;br /&gt;
&lt;br /&gt;
&lt;script type="syntaxhighlighter" class="brush: xml; highlight: [10,39]"&gt;
&lt;?xml version="1.0" encoding="UTF-8"?&gt;
&lt;wsdl:definitions name="MtomStreamingService"
                  targetNamespace="http://xmlns.qualcomm.com/it/ea/wspoc/"
                  xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"
                  xmlns:tns="http://xmlns.qualcomm.com/it/ea/wspoc/"
                  xmlns:xsd="http://www.w3.org/2001/XMLSchema"
                  xmlns:mime="http://schemas.xmlsoap.org/wsdl/mime/"
                  xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"
                  xmlns:soap12="http://schemas.xmlsoap.org/wsdl/soap12/"&gt;
    &lt;wsdl:document&gt;
Copyright ACME Company, Ltd.

By your use of this service you acknowledge and agree to the following use terms, restrictions,
and limitations of liability:

    Lorem ipsum dolor sit amet, consectetur adipiscing elit. Quisque varius urna id nisi
sagittis eget iaculis sapien feugiat. Curabitur lacinia, erat a sagittis scelerisque, 
neque dolor fringilla erat, vel viverra justo metus id lacus. Quisque quis sapien non
sem feugiat fermentum ut sit amet odio. Aliquam elementum aliquet turpis nec elementum.

Vestibulum mattis lectus interdum libero imperdiet pellentesque. Nullam neque elit, sodales
et volutpat eget, placerat pulvinar justo. Donec a facilisis mauris. Mauris odio elit, 
aliquam et lobortis eget, auctor ultricies sem. Nam at ultrices ligula. Nam adipiscing
mauris vel mauris euismod eu dapibus nulla varius. Integer scelerisque quam at diam
dictum aliquam. Curabitur nunc eros, semper et feugiat sed, dignissim eget ipsum.

Duis dictum nulla at turpis vulputate vel vehicula diam facilisis.

Aenean vitae fringilla dolor. Aliquam eget quam ultrices lacus fringilla semper non
vel dui. Fusce at lacus vel est egestas adipiscing vitae eu arcu. Aliquam elit erat,
egestas pulvinar venenatis et, posuere vitae orci. Suspendisse id lorem ac ante dictum
faucibus id sed augue. Class aptent taciti sociosqu ad litora torquent per conubia nostra,
per inceptos himenaeos. Nulla vel augue vulputate orci gravida gravida non eu felis.
Vestibulum ante ipsum primis in faucibus orci luctus et ultrices posuere cubilia Curae;
Donec vitae urna eu risus porta tempor eu in elit. Maecenas volutpat bibendum facilisis.
Ut mollis nunc vitae augue lobortis ut mattis odio sollicitudin. Donec egestas dolor a
ante fringilla porttitor. Integer non enim nec odio mattis facilisis dictum non est. 
Suspendisse mattis ullamcorper libero. Lorem ipsum.
    &lt;/wsdl:document&gt;
    &lt;wsdl:types&gt;
        &lt;schema xmlns="http://www.w3.org/2001/XMLSchema"
                targetNamespace="http://xmlns.qualcomm.com/it/ea/wspoc/"
                xmlns:xsd="http://www.w3.org/2001/XMLSchema"
                xmlns:tns="http://xmlns.qualcomm.com/it/ea/wspoc/"&gt;
            &lt;xsd:complexType name="fileUpload"&gt;
                &lt;xsd:sequence&gt;
                    &lt;xsd:element name="arg0" type="xsd:string"/&gt;
                    &lt;xsd:element name="arg1"
                                 xmlns:ns1="http://www.w3.org/2005/05/xmlmime"
                                 ns1:expectedContentTypes="application/octet-stream"
                                 type="xsd:base64Binary"/&gt;
                &lt;/xsd:sequence&gt;
            &lt;/xsd:complexType&gt;
            &lt;xsd:element name="fileUpload" type="tns:fileUpload"/&gt;
        &lt;/schema&gt;
    &lt;/wsdl:types&gt;
    &lt;wsdl:message name="fileUploadInput"&gt;
        &lt;wsdl:part name="parameters" element="tns:fileUpload"/&gt;
    &lt;/wsdl:message&gt;
    &lt;wsdl:portType name="MtomStreamingPortType"&gt;
        &lt;wsdl:operation name="fileUpload"&gt;
            &lt;wsdl:input message="tns:fileUploadInput"
                        xmlns:ns1="http://www.w3.org/2006/05/addressing/wsdl"
                        ns1:Action=""/&gt;
        &lt;/wsdl:operation&gt;
    &lt;/wsdl:portType&gt;
    &lt;wsdl:binding name="MtomStreamingPortTypeSoapHttp"
                  type="tns:MtomStreamingPortType"&gt;
        &lt;soap:binding style="document"
                      transport="http://schemas.xmlsoap.org/soap/http"/&gt;
        &lt;wsdl:operation name="fileUpload"&gt;
            &lt;soap:operation soapAction=""/&gt;
            &lt;wsdl:input&gt;
                &lt;soap:body use="literal"/&gt;
            &lt;/wsdl:input&gt;
        &lt;/wsdl:operation&gt;
    &lt;/wsdl:binding&gt;
    &lt;wsdl:service name="MtomStreamingService"&gt;
        &lt;wsdl:port name="MtomStreamingPort"
                   binding="tns:MtomStreamingPortTypeSoapHttp"&gt;
            &lt;soap:address location="http://innuendo.qualcomm.com:7001/MTOMStreamingListenerSvc/MtomStreamingPort"/&gt;
        &lt;/wsdl:port&gt;
    &lt;/wsdl:service&gt;
&lt;/wsdl:definitions&gt;
]]&gt;
&lt;/script&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8891523348462874151-6485802137015601019?l=beetsaround.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://beetsaround.blogspot.com/feeds/6485802137015601019/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8891523348462874151&amp;postID=6485802137015601019' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8891523348462874151/posts/default/6485802137015601019'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8891523348462874151/posts/default/6485802137015601019'/><link rel='alternate' type='text/html' href='http://beetsaround.blogspot.com/2010/08/example-of-using-wsdldocumentation.html' title=''/><author><name>Todd Beets</name><uri>http://www.blogger.com/profile/13755964672582236472</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://3.bp.blogspot.com/_FOsffwQMLyc/THWuuuu5DoI/AAAAAAAAABE/mXSc8QiQ05U/S220/tbeets.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8891523348462874151.post-101682454429383088</id><published>2010-08-25T16:45:00.000-07:00</published><updated>2010-08-25T16:59:12.734-07:00</updated><title type='text'>Combining MTOM Web Service Enablement and Streaming Handlers</title><content type='html'>&lt;i&gt;Service&lt;/i&gt;&lt;br /&gt;
&lt;script type="syntaxhighlighter" class="brush: java; highlight: [6,7,11,19,17,21,22,23,24,34,37]"&gt;
&lt;![CDATA[
package com.qualcomm.ea.ws;

// see also http://download.oracle.com/docs/cd/E12839_01/web.1111/e13734/mtom.htm#i279561
//          https://jax-ws.dev.java.net/guide/Large_Attachments.html

import com.sun.xml.ws.developer.StreamingDataHandler;
import com.sun.xml.ws.developer.StreamingAttachment;

import java.io.File;

import javax.activation.DataHandler;

import javax.jws.Oneway;
import javax.jws.WebMethod;
import javax.jws.WebService;

import javax.xml.bind.annotation.XmlMimeType;
import javax.xml.ws.WebServiceException;
import javax.xml.ws.soap.MTOM;

@StreamingAttachment(dir="/usr/local/workspace/temp/spool",
                     parseEagerly=true,
                     memoryThreshold=40000L)
@MTOM
@WebService(name = "MtomStreamingPortType", 
            serviceName = "MtomStreamingService", 
            portName = "MtomStreamingPort",
            targetNamespace = "http://xmlns.qualcomm.com/it/ea/wspoc/")
public class MTOMStreamingImpl {

  @WebMethod
  @Oneway
  public void fileUpload(String fileName,
                         @XmlMimeType("application/octet-stream")
                         DataHandler data) {                  
    try {
      StreamingDataHandler dh = (StreamingDataHandler) data;
      File file = new File(fileName);
      dh.moveTo(file);
      dh.close();
    } catch (Exception e) {
      throw new WebServiceException(e);
    }
  }
}
]]&gt;
&lt;/script&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;i&gt;Service Client&lt;/i&gt;&lt;br /&gt;
&lt;script type="syntaxhighlighter" class="brush: java; highlight: [9,16,47,48,49,50,79]"&gt;
&lt;![CDATA[
package com.qualcomm.xmlns.it.ea.wspoc.client;

// TB: Remember to turn off JDeveloper's HTTP Analyzer default proxy or
// JDeveloper's HTTP Analyzer (in the client stream) will blow up...

import com.qualcomm.xmlns.it.ea.wspoc.MtomStreamingPortType;
import com.qualcomm.xmlns.it.ea.wspoc.MtomStreamingService;

import com.sun.xml.ws.developer.JAXWSProperties;

import java.net.MalformedURLException;
import java.net.URL;

import java.util.Map;

import javax.activation.DataHandler;
import javax.activation.FileDataSource;

import javax.xml.namespace.QName;
import javax.xml.ws.BindingProvider;
import javax.xml.ws.soap.MTOMFeature;

public class MyClient {
  
  private String wsdlUrl = "http://innuendo.qualcomm.com:7001/MTOMStreamingListenerSvc/MtomStreamingPort?wsdl";
  private final String QNAME = "http://xmlns.qualcomm.com/it/ea/wspoc/";
  private final String SERVICE = "MtomStreamingService";
   
  private MtomStreamingService myService = null;
  private MtomStreamingPortType myPort = null;
  
  public MyClient() {
    super();
    setup();
  }
 
  public MyClient(String wsdlUrl) {
    super();
    this.wsdlUrl = wsdlUrl;
    setup();
  }
   
  public void setup() {
    setMyService(createServiceProxy());
    
    // We need to enable MTOM for on our Client Service's Port...
    setMyPort(getMyService().getMtomStreamingPort(new MTOMFeature()));
 
    Map&lt;String, Object&gt; ctxt = ((BindingProvider) this.getMyPort()).getRequestContext();
    ctxt.put(JAXWSProperties.HTTP_CLIENT_STREAMING_CHUNK_SIZE, 8192);           
  }
  
  private MtomStreamingService createServiceProxy() {
  
      MtomStreamingService myNewServiceProxy = null;
      try {  
         myNewServiceProxy = new MtomStreamingService( 
                                          new URL(wsdlUrl),  
                                          new QName(QNAME, SERVICE));  
      } catch (MalformedURLException e) {  
          e.printStackTrace();  
      }  
      
      return myNewServiceProxy;
  }
  public void setMyService(MtomStreamingService myService) {
    this.myService = myService;
  }
  
  public static void main(String[] args) {
    MyClient myClient = 
      new MyClient("http://innuendo.qualcomm.com:7001/MTOMStreamingListenerSvc/MtomStreamingPort?wsdl");
    
    // 11 MB to 1.5 GB file tested...  
    String UPLOADFILE = "some source file";

    String TARGETFILE = "some target file";
    
    DataHandler dh = new DataHandler(new FileDataSource(UPLOADFILE));
    myClient.getMyPort().fileUpload(TARGETFILE, dh);

    System.out.println("Upload Complete");    
  }

  public MtomStreamingService getMyService() {
    return myService;
  }

  public void setMyPort(MtomStreamingPortType myPort) {
    this.myPort = myPort;
  }

  public MtomStreamingPortType getMyPort() {
    return myPort;
  }
}
]]&gt;
&lt;/script&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8891523348462874151-101682454429383088?l=beetsaround.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://beetsaround.blogspot.com/feeds/101682454429383088/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8891523348462874151&amp;postID=101682454429383088' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8891523348462874151/posts/default/101682454429383088'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8891523348462874151/posts/default/101682454429383088'/><link rel='alternate' type='text/html' href='http://beetsaround.blogspot.com/2010/08/combining-mtom-web-service-enablement.html' title='Combining MTOM Web Service Enablement and Streaming Handlers'/><author><name>Todd Beets</name><uri>http://www.blogger.com/profile/13755964672582236472</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://3.bp.blogspot.com/_FOsffwQMLyc/THWuuuu5DoI/AAAAAAAAABE/mXSc8QiQ05U/S220/tbeets.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8891523348462874151.post-3086331828117188909</id><published>2010-08-25T16:28:00.000-07:00</published><updated>2010-08-25T16:39:27.405-07:00</updated><title type='text'>MTOM-enabled JAX-WS Web Service</title><content type='html'>Simple example of enabling a JAX-WS web service with the MTOM feature...&lt;br /&gt;
&lt;br /&gt;
&lt;i&gt;Service&lt;/i&gt;&lt;br /&gt;
&lt;script type="syntaxhighlighter" class="brush: java; highlight: [6,14]"&gt;
&lt;![CDATA[
package com.qualcomm.ea.ws;

import javax.jws.WebMethod;
import javax.jws.WebService;

import javax.xml.ws.soap.MTOM;

// TB: Simple MTOM-Enabled Web Service; note flaw in this example is that byte[]
// will be filled in memory on the server.
//
// Note: Can cut the MTOM (or not) threshold in the Response via
// @MTOM(threshold=3072)  i.e. &lt;3k don't bother MTOM in the response

@MTOM
@WebService(name = "MtomPortType", 
            serviceName = "MtomService", 
            portName = "MtomPort",
            targetNamespace = "http://xmlns.qualcomm.com/it/ea/wspoc/")
public class MTOMImpl {
  
  @WebMethod
  public String echoBinaryAsString(byte[] bytes) {
    return new String(bytes);
  }
  
}
]]&gt;
&lt;/script&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;i&gt;Service Client&lt;/i&gt;&lt;br /&gt;
&lt;script type="syntaxhighlighter" class="brush: java; highlight: [4,20]"&gt;
&lt;![CDATA[
package com.qualcomm.xmlns.it.ea.wspoc;

import javax.xml.ws.WebServiceRef;
import javax.xml.ws.soap.MTOMFeature;

// TB: Simple example of MTOM at the client. Binary content to send is
// static/fixed in client-memory which could be a size limitation at the client.
//
// Note: Optimization is to set a size cut to determine whether or not to do
// MTOM in the Request.   new MTOMFeature(3072)  i.e. set the cut at 3K

public class MtomPortClient
{
  @WebServiceRef
  private static MtomService mtomService;

  public static void main(String [] args)
  {
    mtomService = new MtomService();
    MtomPortType mtomPortType = mtomService.getMtomPort(new MTOMFeature());   
    // load and post request with byte[]
    
  }
}
]]&gt;
&lt;/script&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8891523348462874151-3086331828117188909?l=beetsaround.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://beetsaround.blogspot.com/feeds/3086331828117188909/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8891523348462874151&amp;postID=3086331828117188909' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8891523348462874151/posts/default/3086331828117188909'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8891523348462874151/posts/default/3086331828117188909'/><link rel='alternate' type='text/html' href='http://beetsaround.blogspot.com/2010/08/mtom-enabled-jax-ws-web-service.html' title='MTOM-enabled JAX-WS Web Service'/><author><name>Todd Beets</name><uri>http://www.blogger.com/profile/13755964672582236472</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://3.bp.blogspot.com/_FOsffwQMLyc/THWuuuu5DoI/AAAAAAAAABE/mXSc8QiQ05U/S220/tbeets.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8891523348462874151.post-2973447337131282341</id><published>2010-08-25T16:12:00.000-07:00</published><updated>2010-08-25T16:23:09.089-07:00</updated><title type='text'>Notes on MTOM/XOP</title><content type='html'>Example of SOAP request with &lt;a href="http://en.wikipedia.org/wiki/Message_Transmission_Optimization_Mechanism"&gt;Message Transmission Optimization Mechanism (MTOM)&lt;/a&gt; and &lt;a href="http://en.wikipedia.org/wiki/XML-binary_Optimized_Packaging"&gt;XML binary Optimized Packaging (XOP)&lt;/a&gt;...&lt;br /&gt;
&lt;br /&gt;
In this case, the "optimized content" is but three characters: &lt;pre&gt;FOO&lt;/pre&gt;&lt;script type="syntaxhighlighter" class="brush: xml; highlight: [21]"&gt;
&lt;![CDATA[
POST http://innuendo.qualcomm.com:7001/MTOMListenerSvc/MtomPortType HTTP/1.1
Proxy-Authorization: 
Content-type: multipart/related;start="&lt;rootpart*be6f6f56-e8f3-4198-87ee-4913edd9b71b@example.jaxws.sun.com&gt;";type="application/xop+xml";boundary="uuid:be6f6f56-e8f3-4198-87ee-4913edd9b71b";start-info="text/xml"
Soapaction: ""
Accept: text/xml, multipart/related, text/html, image/gif, image/jpeg, *; q=.2, */*; q=.2
User-Agent: Oracle JAX-WS 2.1.5
Host: innuendo.qualcomm.com:7001
Proxy-Connection: Keep-Alive
Content-Length: 857
X-HTTPAnalyzer-Rules: 39@localhost:8099

--uuid:be6f6f56-e8f3-4198-87ee-4913edd9b71b
Content-Id: &lt;rootpart*be6f6f56-e8f3-4198-87ee-4913edd9b71b@example.jaxws.sun.com&gt;
Content-Type: application/xop+xml;charset=utf-8;type="text/xml"
Content-Transfer-Encoding: binary

&lt;?xml version='1.0' encoding='UTF-8'?&gt;
&lt;S:Envelope xmlns:S="http://schemas.xmlsoap.org/soap/envelope/"&gt;
  &lt;S:Body&gt;
    &lt;ns2:echoBinaryAsString xmlns:ns2="http://xmlns.qualcomm.com/it/ea/wspoc/"&gt;
      &lt;arg0&gt;&lt;xop:Include xmlns:xop="http://www.w3.org/2004/08/xop/include" href="cid:1642844f-9ced-4b9b-b1ca-812129daedfd@example.jaxws.sun.com"/&gt;&lt;/arg0&gt;
    &lt;/ns2:echoBinaryAsString&gt;
  &lt;/S:Body&gt;
&lt;/S:Envelope&gt;
--uuid:be6f6f56-e8f3-4198-87ee-4913edd9b71b
Content-Id: &lt;1642844f-9ced-4b9b-b1ca-812129daedfd@example.jaxws.sun.com&gt;
Content-Type: application/octet-stream
Content-Transfer-Encoding: binary

FOO
--uuid:be6f6f56-e8f3-4198-87ee-4913edd9b71b--
]]&gt;
&lt;/script&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8891523348462874151-2973447337131282341?l=beetsaround.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://beetsaround.blogspot.com/feeds/2973447337131282341/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8891523348462874151&amp;postID=2973447337131282341' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8891523348462874151/posts/default/2973447337131282341'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8891523348462874151/posts/default/2973447337131282341'/><link rel='alternate' type='text/html' href='http://beetsaround.blogspot.com/2010/08/notes-on-mtomxop.html' title='Notes on MTOM/XOP'/><author><name>Todd Beets</name><uri>http://www.blogger.com/profile/13755964672582236472</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://3.bp.blogspot.com/_FOsffwQMLyc/THWuuuu5DoI/AAAAAAAAABE/mXSc8QiQ05U/S220/tbeets.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8891523348462874151.post-1356800889983797298</id><published>2010-08-23T10:58:00.000-07:00</published><updated>2010-08-23T10:58:57.251-07:00</updated><title type='text'>Policy Annotations &amp; Addressing Identity in WSDL Contract</title><content type='html'>OFM 11g web services have several WSDL annotations and decorations enabled by default. The idea is to enable advanced consumer-side behaviors and automations; however, early experience has shown that consumers may not be expecting the added elements and instead of ignoring, may complain and produce consumption errors.&lt;br /&gt;
&lt;br /&gt;
The following example is an Oracle JAX-WS service deployed to WebLogic 11gR1 PS2 (10.3.3) with an OWSM 11g service policy attached.&lt;br /&gt;
&lt;br /&gt;
Of interest in this example is that the service is eagerly advertising its public certificate even though the currently attached policy does not specify payload encryption by the consumer.&lt;br /&gt;
&lt;br /&gt;
&lt;script type="syntaxhighlighter" class="brush: xml; highlight: [10,79,99,104,108,115,129]"&gt;&lt;![CDATA[
&lt;definitions 
     name="MyEchoSvc"
     targetNamespace="http://jax.ea.qualcomm.com/"
     xmlns="http://schemas.xmlsoap.org/wsdl/"
     xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"
     xmlns:tns="http://jax.ea.qualcomm.com/"
     xmlns:xsd="http://www.w3.org/2001/XMLSchema"
     xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"
    &gt; 
&lt;wsp:Policy xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd" wsu:Id="BavarianAlpsPort_Fault_Policy" xmlns:wsp="http://schemas.xmlsoap.org/ws/2004/09/policy"&gt; 
   &lt;sp:SignedParts xmlns:sp="http://schemas.xmlsoap.org/ws/2005/07/securitypolicy"/&gt; 
   &lt;sp:SignedElements xmlns:sp="http://schemas.xmlsoap.org/ws/2005/07/securitypolicy"/&gt; 
   &lt;sp:EncryptedParts xmlns:sp="http://schemas.xmlsoap.org/ws/2005/07/securitypolicy"/&gt; 
   &lt;sp:EncryptedElements xmlns:sp="http://schemas.xmlsoap.org/ws/2005/07/securitypolicy"/&gt; 
&lt;/wsp:Policy&gt;
&lt;wsp:Policy xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd" wsu:Id="BavarianAlpsPort_Input_Policy" xmlns:wsp="http://schemas.xmlsoap.org/ws/2004/09/policy"&gt; 
   &lt;sp:SignedParts xmlns:sp="http://schemas.xmlsoap.org/ws/2005/07/securitypolicy"&gt; 
      &lt;sp:Body/&gt; 
      &lt;sp:Header Name="fmw-context" Namespace="http://xmlns.oracle.com/fmw/context/1.0"/&gt; 
      &lt;sp:Header Name="" Namespace="http://www.w3.org/2005/08/addressing"/&gt; 
      &lt;sp:Header Name="" Namespace="http://schemas.xmlsoap.org/ws/2004/08/addressing"/&gt; 
   &lt;/sp:SignedParts&gt; 
   &lt;sp:SignedElements xmlns:sp="http://schemas.xmlsoap.org/ws/2005/07/securitypolicy"/&gt; 
   &lt;sp:EncryptedParts xmlns:sp="http://schemas.xmlsoap.org/ws/2005/07/securitypolicy"/&gt; 
   &lt;sp:EncryptedElements xmlns:sp="http://schemas.xmlsoap.org/ws/2005/07/securitypolicy"/&gt; 
&lt;/wsp:Policy&gt;
&lt;wsp:Policy xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd" wsu:Id="BavarianAlpsPort_Output_Policy" xmlns:wsp="http://schemas.xmlsoap.org/ws/2004/09/policy"&gt; 
   &lt;sp:SignedParts xmlns:sp="http://schemas.xmlsoap.org/ws/2005/07/securitypolicy"/&gt; 
   &lt;sp:SignedElements xmlns:sp="http://schemas.xmlsoap.org/ws/2005/07/securitypolicy"/&gt; 
   &lt;sp:EncryptedParts xmlns:sp="http://schemas.xmlsoap.org/ws/2005/07/securitypolicy"/&gt; 
   &lt;sp:EncryptedElements xmlns:sp="http://schemas.xmlsoap.org/ws/2005/07/securitypolicy"/&gt; 
&lt;/wsp:Policy&gt;
&lt;wsp:Policy xmlns:wsp="http://schemas.xmlsoap.org/ws/2004/09/policy" xmlns:oralgp="http://schemas.oracle.com/ws/2006/01/loggingpolicy" xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd" wsu:Id="wss10_saml_token_with_message_integrity_service_policy" xmlns:orasp="http://schemas.oracle.com/ws/2006/01/securitypolicy" xmlns:orawsp="http://schemas.oracle.com/ws/2006/01/policy"&gt; 
   &lt;sp:AsymmetricBinding xmlns:sp="http://schemas.xmlsoap.org/ws/2005/07/securitypolicy"&gt; 
      &lt;wsp:Policy&gt; 
         &lt;sp:InitiatorToken&gt; 
            &lt;wsp:Policy&gt; 
               &lt;sp:X509Token sp:IncludeToken="http://schemas.xmlsoap.org/ws/2005/07/securitypolicy/IncludeToken/Always"&gt; 
                  &lt;wsp:Policy&gt; 
                     &lt;sp:WssX509V3Token10/&gt; 
                  &lt;/wsp:Policy&gt; 
               &lt;/sp:X509Token&gt; 
            &lt;/wsp:Policy&gt; 
         &lt;/sp:InitiatorToken&gt; 
         &lt;sp:RecipientToken&gt; 
            &lt;wsp:Policy&gt; 
               &lt;sp:X509Token sp:IncludeToken="http://schemas.xmlsoap.org/ws/2005/07/securitypolicy/IncludeToken/Always"&gt; 
                  &lt;wsp:Policy&gt; 
                     &lt;sp:WssX509V3Token10/&gt; 
                  &lt;/wsp:Policy&gt; 
               &lt;/sp:X509Token&gt; 
            &lt;/wsp:Policy&gt; 
         &lt;/sp:RecipientToken&gt; 
         &lt;sp:AlgorithmSuite&gt; 
            &lt;wsp:Policy&gt; 
               &lt;sp:Basic128/&gt; 
            &lt;/wsp:Policy&gt; 
         &lt;/sp:AlgorithmSuite&gt; 
         &lt;sp:Layout&gt; 
            &lt;wsp:Policy&gt; 
               &lt;sp:Lax/&gt; 
            &lt;/wsp:Policy&gt; 
         &lt;/sp:Layout&gt; 
         &lt;sp:OnlySignEntireHeadersAndBody/&gt; 
      &lt;/wsp:Policy&gt; 
   &lt;/sp:AsymmetricBinding&gt; 
   &lt;sp:Wss10 xmlns:sp="http://schemas.xmlsoap.org/ws/2005/07/securitypolicy"&gt; 
      &lt;wsp:Policy/&gt; 
   &lt;/sp:Wss10&gt; 
   &lt;sp:SignedSupportingTokens xmlns:sp="http://schemas.xmlsoap.org/ws/2005/07/securitypolicy"&gt; 
      &lt;wsp:Policy&gt; 
         &lt;sp:SamlToken sp:IncludeToken="http://schemas.xmlsoap.org/ws/2005/07/securitypolicy/IncludeToken/AlwaysToRecipient"&gt; 
            &lt;wsp:Policy&gt; 
               &lt;sp:WssSamlV11Token10/&gt; 
            &lt;/wsp:Policy&gt; 
         &lt;/sp:SamlToken&gt; 
      &lt;/wsp:Policy&gt; 
   &lt;/sp:SignedSupportingTokens&gt; 
&lt;/wsp:Policy&gt;
    &lt;types&gt; 
        &lt;xsd:schema&gt; 
            &lt;xsd:import namespace="http://jax.ea.qualcomm.com/" schemaLocation="http://eavlab53.qualcomm.com:8001/EchoApp/BavarianAlpsPort?xsd=1"/&gt; 
        &lt;/xsd:schema&gt; 
    &lt;/types&gt; 
    &lt;message name="speak"&gt; 
        &lt;part name="parameters" element="tns:speak"/&gt; 
    &lt;/message&gt; 
    &lt;message name="speakResponse"&gt; 
        &lt;part name="parameters" element="tns:speakResponse"/&gt; 
    &lt;/message&gt; 
    &lt;portType name="BavarianAlps"&gt; 
        &lt;operation name="speak"&gt; 
            &lt;input message="tns:speak"/&gt; 
            &lt;output message="tns:speakResponse"/&gt; 
        &lt;/operation&gt; 
    &lt;/portType&gt; 
    &lt;binding name="BavarianAlpsPortBinding" type="tns:BavarianAlps"&gt; 
      &lt;soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/&gt; 
      &lt;wsp:PolicyReference xmlns:wsp="http://schemas.xmlsoap.org/ws/2004/09/policy" URI="#wss10_saml_token_with_message_integrity_service_policy" wsdl:required="false"/&gt; 
        &lt;operation name="speak"&gt; 
            &lt;soap:operation soapAction=""/&gt; 
            &lt;input&gt; 
                &lt;soap:body use="literal"/&gt; 
      &lt;wsp:PolicyReference xmlns:wsp="http://schemas.xmlsoap.org/ws/2004/09/policy" URI="#BavarianAlpsPort_Input_Policy" wsdl:required="false"/&gt; 
            &lt;/input&gt; 
            &lt;output&gt; 
                &lt;soap:body use="literal"/&gt; 
      &lt;wsp:PolicyReference xmlns:wsp="http://schemas.xmlsoap.org/ws/2004/09/policy" URI="#BavarianAlpsPort_Output_Policy" wsdl:required="false"/&gt; 
            &lt;/output&gt; 
        &lt;/operation&gt; 
    &lt;/binding&gt; 
    &lt;service name="MyEchoSvc"&gt; 
        &lt;port name="BavarianAlpsPort" binding="tns:BavarianAlpsPortBinding"&gt; 
            &lt;soap:address location="http://eavlab53.qualcomm.com:8001/EchoApp/BavarianAlpsPort"/&gt; 
            &lt;wsa:EndpointReference xmlns:wsa="http://www.w3.org/2005/08/addressing"&gt; 
                &lt;wsa:Address xmlns:wsa="http://www.w3.org/2005/08/addressing"&gt;http://eavlab53.qualcomm.com:8001/EchoApp/BavarianAlpsPort&lt;/wsa:Address&gt; 
                &lt;wsid:Identity xmlns:wsid="http://schemas.xmlsoap.org/ws/2006/02/addressingidentity"&gt; 
                    &lt;dsig:KeyInfo xmlns:dsig="http://www.w3.org/2000/09/xmldsig#"&gt; 
                        &lt;dsig:X509Data&gt; 
                            &lt;dsig:X509Certificate&gt;MIICKTCCAZKgAwIBAgIETGyoWjANBgkqhkiG9w0BAQUFADBZMRMwEQYKCZImiZPyLGQBGRYDY29tMRgwFgYKCZImiZPyLGQBGRYIcXVhbGNvbW0xCzAJBgNVBAsTAmVhMRswGQYDVQQDExJhc2RvbWFpbi1lbmNyeXB0ZXIwHhcNMTAwODE5MDM0MzIyWhcNMTIwODE4MDM0MzIyWjBZMRMwEQYKCZImiZPyLGQBGRYDY29tMRgwFgYKCZImiZPyLGQBGRYIcXVhbGNvbW0xCzAJBgNVBAsTAmVhMRswGQYDVQQDExJhc2RvbWFpbi1lbmNyeXB0ZXIwgZ8wDQYJKoZIhvcNAQEBBQADgY0AMIGJAoGBALE99z8fVmSxY5HAIYFYHycWLmW2vtczOzcwHgI9aYg96RpZuUR8NTvmgDgsZeYJ9jmPUAdoksrEAbC1W426X/vrh3auBW97qm3Wh8Qwn6TYeUn2bEVTBeUljvKMqh+wTtOoBznbSLGofuhXSo+TLgBjoCbpjbjhrCmkcVze3OzpAgMBAAEwDQYJKoZIhvcNAQEFBQADgYEAlYYIbxpV7Si11QTMyE9lY6rMXihI1Ja4pt6e/r+SJCzJr4OTNrtTc/5+h6Cy6hyXdaKLHbCUUd/k36sbZfAXz1acly4Q0/We2jbzCmx/B2u+Bc+o5w0Ag0uqTSA8YSDp1JmMlfDcPC3L9ARxPrKVVy1zoeQC5GGcI6JbFGG98Sw=&lt;/dsig:X509Certificate&gt; 
                            &lt;dsig:X509IssuerSerial&gt; 
                                &lt;dsig:X509IssuerName&gt;CN=asdomain-encrypter, OU=ea, DC=qualcomm, DC=com&lt;/dsig:X509IssuerName&gt; 
                                &lt;dsig:X509SerialNumber&gt;1282189402&lt;/dsig:X509SerialNumber&gt; 
                            &lt;/dsig:X509IssuerSerial&gt; 
                            &lt;dsig:X509SubjectName&gt;CN=asdomain-encrypter, OU=ea, DC=qualcomm, DC=com&lt;/dsig:X509SubjectName&gt; 
                        &lt;/dsig:X509Data&gt; 
                    &lt;/dsig:KeyInfo&gt; 
                &lt;/wsid:Identity&gt; 
            &lt;/wsa:EndpointReference&gt; 
        &lt;/port&gt; 
    &lt;/service&gt; 
&lt;/definitions&gt; 
]]&gt;
&lt;/script&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8891523348462874151-1356800889983797298?l=beetsaround.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://beetsaround.blogspot.com/feeds/1356800889983797298/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8891523348462874151&amp;postID=1356800889983797298' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8891523348462874151/posts/default/1356800889983797298'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8891523348462874151/posts/default/1356800889983797298'/><link rel='alternate' type='text/html' href='http://beetsaround.blogspot.com/2010/08/policy-annotations-addressing-identity.html' title='Policy Annotations &amp; Addressing Identity in WSDL Contract'/><author><name>Todd Beets</name><uri>http://www.blogger.com/profile/13755964672582236472</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://3.bp.blogspot.com/_FOsffwQMLyc/THWuuuu5DoI/AAAAAAAAABE/mXSc8QiQ05U/S220/tbeets.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8891523348462874151.post-3286981449982154857</id><published>2010-08-19T22:10:00.000-07:00</published><updated>2010-08-19T22:10:06.962-07:00</updated><title type='text'>Shop is open again...</title><content type='html'>I'm back at blogger.com.  &lt;a href="http://squarespace.com/"&gt;Squarespace&lt;/a&gt; is excellent but for my (occasional) use I decided that "free" made more sense.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8891523348462874151-3286981449982154857?l=beetsaround.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://beetsaround.blogspot.com/feeds/3286981449982154857/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8891523348462874151&amp;postID=3286981449982154857' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8891523348462874151/posts/default/3286981449982154857'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8891523348462874151/posts/default/3286981449982154857'/><link rel='alternate' type='text/html' href='http://beetsaround.blogspot.com/2010/08/shop-is-open-again.html' title='Shop is open again...'/><author><name>Todd Beets</name><uri>http://www.blogger.com/profile/13755964672582236472</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://3.bp.blogspot.com/_FOsffwQMLyc/THWuuuu5DoI/AAAAAAAAABE/mXSc8QiQ05U/S220/tbeets.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8891523348462874151.post-1087137636566927563</id><published>2009-08-31T08:42:00.000-07:00</published><updated>2009-08-31T08:44:17.036-07:00</updated><title type='text'>Picking up and moving shop...</title><content type='html'>Cruise on over to &lt;a href="http://beetsme.squarespace.com"&gt;http://beetsme.squarespace.com&lt;/a&gt; for future blogging and other content.  Greener pastures and all that.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8891523348462874151-1087137636566927563?l=beetsaround.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://beetsaround.blogspot.com/feeds/1087137636566927563/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8891523348462874151&amp;postID=1087137636566927563' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8891523348462874151/posts/default/1087137636566927563'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8891523348462874151/posts/default/1087137636566927563'/><link rel='alternate' type='text/html' href='http://beetsaround.blogspot.com/2009/08/picking-up-and-moving-shop.html' title='Picking up and moving shop...'/><author><name>Todd Beets</name><uri>http://www.blogger.com/profile/13755964672582236472</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://3.bp.blogspot.com/_FOsffwQMLyc/THWuuuu5DoI/AAAAAAAAABE/mXSc8QiQ05U/S220/tbeets.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8891523348462874151.post-8723791821706775436</id><published>2009-06-29T15:53:00.000-07:00</published><updated>2010-08-23T11:07:33.045-07:00</updated><title type='text'>OASIS SAML V2.0 Subject Assertion</title><content type='html'>Specification: saml-core-2.0-os &lt;a href="http://docs.oasis-open.org/security/saml/v2.0/"&gt;http://docs.oasis-open.org/security/saml/v2.0/&lt;/a&gt;&lt;br /&gt;
Section 3.2: Requests and Responses&lt;br /&gt;
Section 2: SAML Assertions &lt;br /&gt;
Example Request &lt;br /&gt;
&lt;script type="syntaxhighlighter" class="brush: xml; highlight: [1, 6, 30, 41, 48]"&gt;
&lt;![CDATA[
&lt;samlp:response destination="http://eavlab55.qualcomm.com:6971/Shibboleth.sso/SAML2/POST" id="id-EslnAeCz07OoUZ7YSHrzXsWzRag-" inresponseto="_d0e79c0a1051eaa06b784bb75c7ecd4f" issueinstant="2009-06-17T22:34:19Z" version="2.0" xmlns:dsig="http://www.w3.org/2000/09/xmldsig#" xmlns:samlp="urn:oasis:names:tc:SAML:2.0:protocol"&gt;
  &lt;saml:issuer format="urn:oasis:names:tc:SAML:2.0:nameid-format:entity" xmlns:saml="urn:oasis:names:tc:SAML:2.0:assertion"&gt;http://eavlab51.qualcomm.com:7778/fed/idp&lt;/saml:issuer&gt;
  &lt;samlp:status&gt;
    &lt;samlp:statuscode value="urn:oasis:names:tc:SAML:2.0:status:Success"&gt;
  &lt;/samlp:statuscode&gt;&lt;/samlp:status&gt;
  &lt;saml:assertion id="id-YvpT0b5ROBMajillomALk80HZjI-" issueinstant="2009-06-17T22:34:19Z" version="2.0" xmlns:saml="urn:oasis:names:tc:SAML:2.0:assertion"&gt;
    &lt;saml:issuer format="urn:oasis:names:tc:SAML:2.0:nameid-format:entity"&gt;http://eavlab51.qualcomm.com:7778/fed/idp&lt;/saml:issuer&gt;
    &lt;dsig:signature xmlns:dsig="http://www.w3.org/2000/09/xmldsig#" xmlns="http://www.w3.org/2000/09/xmldsig#"&gt;
      &lt;dsig:signedinfo&gt;
        &lt;dsig:canonicalizationmethod algorithm="http://www.w3.org/2001/10/xml-exc-c14n#"&gt;
        &lt;dsig:signaturemethod algorithm="http://www.w3.org/2000/09/xmldsig#rsa-sha1"&gt;
        &lt;dsig:reference uri="#id-YvpT0b5ROBMajillomALk80HZjI-"&gt;
          &lt;dsig:transforms&gt;
            &lt;dsig:transform algorithm="http://www.w3.org/2000/09/xmldsig#enveloped-signature"&gt;
            &lt;dsig:transform algorithm="http://www.w3.org/2001/10/xml-exc-c14n#"&gt;
              &lt;xc14n:inclusivenamespaces prefixlist="xs" xmlns:xc14n="http://www.w3.org/2001/10/xml-exc-c14n#" xmlns="http://www.w3.org/2001/10/xml-exc-c14n#"&gt;
            &lt;/xc14n:inclusivenamespaces&gt;&lt;/dsig:transform&gt;
          &lt;/dsig:transform&gt;&lt;/dsig:transforms&gt;
          &lt;dsig:digestmethod algorithm="http://www.w3.org/2000/09/xmldsig#sha1"&gt;
          &lt;dsig:digestvalue&gt;y8Jr4l8Vk4zaC/FgL68/OgPr1fQ=&lt;/dsig:digestvalue&gt;
        &lt;/dsig:digestmethod&gt;&lt;/dsig:reference&gt;
      &lt;/dsig:signaturemethod&gt;&lt;/dsig:canonicalizationmethod&gt;&lt;/dsig:signedinfo&gt;
      &lt;dsig:signaturevalue&gt;
ETVJWi9cychV+C+5xGfNMY/+tIePUZGq7g2jgUOtgaEqR
GeELtCZQVAWUcOaOwOpwnKXnzfnWa83m0IAjqaDzpnoRe
dDbdTIT17cyPXYdoiIwf/0hUttOCyRZh3EBbWjfFMv+A4
xaGsAQ2+Bsiyw5TNznVGnGmMJMo/bvia0060=
      &lt;/dsig:signaturevalue&gt;
    &lt;/dsig:signature&gt;
    &lt;saml:subject&gt;
      &lt;saml:nameid format="urn:oasis:names:tc:SAML:2.0:nameid-format:persistent" namequalifier="http://eavlab51.qualcomm.com:7778/fed/idp" spnamequalifier="https://eavlab55.qualcomm.com/shibboleth"&gt;id-cV9uaO98zFNaEciTmjdTaZQv2MM-&lt;/saml:nameid&gt;
      &lt;saml:subjectconfirmation method="urn:oasis:names:tc:SAML:2.0:cm:bearer"&gt;
        &lt;saml:subjectconfirmationdata inresponseto="_d0e79c0a1051eaa06b784bb75c7ecd4f" notonorafter="2009-06-17T22:49:19Z" recipient="http://eavlab55.qualcomm.com:6971/Shibboleth.sso/SAML2/POST"&gt;
      &lt;/saml:subjectconfirmationdata&gt;&lt;/saml:subjectconfirmation&gt;
    &lt;/saml:subject&gt;
    &lt;saml:conditions notbefore="2009-06-17T22:24:19Z" notonorafter="2009-06-17T22:49:19Z"&gt;
      &lt;saml:audiencerestriction&gt;
        &lt;saml:audience&gt;https://eavlab55.qualcomm.com/shibboleth&lt;/saml:audience&gt;
      &lt;/saml:audiencerestriction&gt;
    &lt;/saml:conditions&gt;
    &lt;saml:authnstatement authninstant="2009-06-17T22:34:19Z" sessionindex="id-vgh55-v5-VEI2w5E69u9pSpj8hk-" sessionnotonorafter="2009-06-17T23:34:19Z"&gt;
      &lt;saml:authncontext&gt;
        &lt;saml:authncontextclassref&gt;
          urn:oasis:names:tc:SAML:2.0:ac:classes:Password
        &lt;/saml:authncontextclassref&gt;
      &lt;/saml:authncontext&gt;
    &lt;/saml:authnstatement&gt;
    &lt;saml:attributestatement&gt;
      &lt;saml:attribute name="SubjectGIVENNAME" nameformat="urn:oasis:names:tc:SAML:2.0:attrname-format:basic"&gt;
        &lt;saml:attributevalue xmlns:xs="http://www.w3.org/2001/XMLSchema"&gt;Todd&lt;/saml:attributevalue&gt;
      &lt;/saml:attribute&gt;
      &lt;saml:attribute name="SubjectCN" nameformat="urn:oasis:names:tc:SAML:2.0:attrname-format:basic"&gt;
        &lt;saml:attributevalue xmlns:xs="http://www.w3.org/2001/XMLSchema"&gt;
          tbeets@qualcomm.com
        &lt;/saml:attributevalue&gt;
      &lt;/saml:attribute&gt;
      &lt;saml:attribute name="SubjectUID" nameformat="urn:oasis:names:tc:SAML:2.0:attrname-format:basic"&gt;
        &lt;saml:attributevalue xmlns:xs="http://www.w3.org/2001/XMLSchema"&gt;
          tbeets@qualcomm.com
        &lt;/saml:attributevalue&gt;
      &lt;/saml:attribute&gt;
      &lt;saml:attribute name="SubjectSN" nameformat="urn:oasis:names:tc:SAML:2.0:attrname-format:basic"&gt;
        &lt;saml:attributevalue xmlns:xs="http://www.w3.org/2001/XMLSchema"&gt;Beets&lt;/saml:attributevalue&gt;
      &lt;/saml:attribute&gt;
    &lt;/saml:attributestatement&gt;
  &lt;/saml:assertion&gt;
&lt;/samlp:response&gt;
]]&gt;
&lt;/script&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8891523348462874151-8723791821706775436?l=beetsaround.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://beetsaround.blogspot.com/feeds/8723791821706775436/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8891523348462874151&amp;postID=8723791821706775436' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8891523348462874151/posts/default/8723791821706775436'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8891523348462874151/posts/default/8723791821706775436'/><link rel='alternate' type='text/html' href='http://beetsaround.blogspot.com/2009/06/specification-saml-core-2.html' title='OASIS SAML V2.0 Subject Assertion'/><author><name>Todd Beets</name><uri>http://www.blogger.com/profile/13755964672582236472</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://3.bp.blogspot.com/_FOsffwQMLyc/THWuuuu5DoI/AAAAAAAAABE/mXSc8QiQ05U/S220/tbeets.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8891523348462874151.post-3983609084881859610</id><published>2009-06-29T15:37:00.000-07:00</published><updated>2010-08-23T11:08:49.815-07:00</updated><title type='text'>OASIS SAML V2.0 AuthnRequest</title><content type='html'>Specification: saml-core-2.0-os &lt;a href="http://docs.oasis-open.org/security/saml/v2.0/"&gt;http://docs.oasis-open.org/security/saml/v2.0/&lt;/a&gt;&lt;br /&gt;
Section 3.4: Authentication Request Protocol &lt;p&gt;Example Request &lt;p&gt;&lt;script type="syntaxhighlighter" class="brush: xml; highlight: [1]"&gt;
&lt;![CDATA[
&lt;samlp:AuthnRequest xmlns:samlp="urn:oasis:names:tc:SAML:2.0:protocol"
                    AssertionConsumerServiceURL="http://eavlab55.qualcomm.com:6971/Shibboleth.sso/SAML2/POST"
                    Destination="http://eavlab51.qualcomm.com:7778/fed/idp/samlv20"
                    ID="_d0e79c0a1051eaa06b784bb75c7ecd4f"
                    IssueInstant="2009-06-17T22:34:07Z"
                    ProtocolBinding="urn:oasis:names:tc:SAML:2.0:bindings:HTTP-POST"
                    Version="2.0"&gt;
  &lt;saml:Issuer xmlns:saml="urn:oasis:names:tc:SAML:2.0:assertion"&gt;
    https://eavlab55.qualcomm.com/shibboleth
  &lt;/saml:Issuer&gt;
  &lt;ds:Signature xmlns:ds="http://www.w3.org/2000/09/xmldsig#"&gt;
    &lt;ds:SignedInfo&gt;
      &lt;ds:CanonicalizationMethod Algorithm="http://www.w3.org/2001/10/xml-exc-c14n#"/&gt;
      &lt;ds:SignatureMethod Algorithm="http://www.w3.org/2000/09/xmldsig#rsa-sha1"/&gt;
      &lt;ds:Reference URI="#_d0e79c0a1051eaa06b784bb75c7ecd4f"&gt;
        &lt;ds:Transforms&gt;
          &lt;ds:Transform Algorithm="http://www.w3.org/2000/09/xmldsig#enveloped-signature"/&gt;
          &lt;ds:Transform Algorithm="http://www.w3.org/2001/10/xml-exc-c14n#"&gt;
            &lt;ec:InclusiveNamespaces xmlns:ec="http://www.w3.org/2001/10/xml-exc-c14n#"
                                    PrefixList="ds saml samlp"/&gt;
          &lt;/ds:Transform&gt;
        &lt;/ds:Transforms&gt;
        &lt;ds:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/&gt;
        &lt;ds:DigestValue&gt;cu+w+M5x8CCjSEDN6nN2WTAEnsI=&lt;/ds:DigestValue&gt;
      &lt;/ds:Reference&gt;
    &lt;/ds:SignedInfo&gt;
    &lt;ds:SignatureValue&gt;
E0TIK1oHkddrB7HCvCsTcZqBdXC5ZSbMq1RVetJvyn/zP
D3UhYFuvODwAs8j/ZvXO1OFkyZcP/o92rg/3g1Ia2yf5n
efnN/3I4taBvOvCvft3ODw36zdQWI1SDMcDY67P1qCgVd
t/OzwdgBlPmYcdKV5WqlzKud8u3hSNIZ/VT0=
    &lt;/ds:SignatureValue&gt;
    &lt;ds:KeyInfo&gt;
      &lt;ds:KeyName&gt;SARDONICA Federation Provider&lt;/ds:KeyName&gt;
      &lt;ds:X509Data&gt;
        &lt;ds:X509SubjectName&gt;
OU=Information Technology,O=QUALCOMM Incorporated,emailAddress=tbeets@qualcomm.com,C=US,ST=WA,CN=SARDONICA Federation Provider
        &lt;/ds:X509SubjectName&gt;
        &lt;ds:X509Certificate&gt;
MIIDNjCCAh6gAwIBAgIDEAAIMA0GCSqGSIb3DQEBBAUA
MHUxFTATBgNVBAMTDFNBUkRPTklDQSBDQTELMAkGA1UE
CBMCV0ExCzAJBgNVBAYTAlVTMSIwIAYJKoZIhvcNAQkB
FhN0YmVldHNAcXVhbGNvbW0uY29tMR4wHAYDVQQKExVR
VUFMQ09NTSBJbmNvcnBvcmF0ZWQwHhcNMDkwMTIyMDEw
MTM3WhcNMTEwMTIyMDEwMTM3WjCBpzEmMCQGA1UEAxMd
U0FSRE9OSUNBIEZlZGVyYXRpb24gUHJvdmlkZXIxCzAJ
BgNVBAgTAldBMQswCQYDVQQGEwJVUzEiMCAGCSqGSIb3
DQEJARYTdGJlZXRzQHF1YWxjb21tLmNvbTEeMBwGA1UE
ChMVUVVBTENPTU0gSW5jb3Jwb3JhdGVkMR8wHQYDVQQL
ExZJbmZvcm1hdGlvbiBUZWNobm9sb2d5MIGfMA0GCSqG
SIb3DQEBAQUAA4GNADCBiQKBgQC3bOtkPH4PRd+caiFB
PjbeQZMrMSXF81via6vszdby+FQhhHGT76GU7DvVfBS3
ipZBy9MS1Vzlo1SN7e4KeF5b9IigF9kX+qwlUk2oD9FJ
/DDIJzwT2jHKJ86qchpHQ+VAEg0Hw0LYxtjHWd0+sDtK
+bhcBoDyUZugeHgjkV5hKQIDAQABoyAwHjAJBgNVHRME
AjAAMBEGCWCGSAGG+EIBAQQEAwIGQDANBgkqhkiG9w0B
AQQFAAOCAQEAVEdyftTyX0r+kLbndT9T6aQbychkSU4f
zMF6G14LxxxnzZA6WQa/bXJ1aE7ViuuVG+poa1TXY4Iq
IVp+0GTE2wbZxOb+1WgC9K3KEpemu2EsOVvFUx1iZsF8
e2J/jSfQLNicXRpsU+vJhEqNO3iUR/Q0bbx3QJ+tylzW
GdZma/ySe9O1jlb73+MkwR1TKab/IWTjir2Dbr5yFsGp
sM0jhj9K1K0/6wa1FV9mdnfEa8skY/pARw32Z6klZojB
NB01ZZHjStQ2hlJV5J4nuE73ZZXgBLJ4JqJ9PDn0crK3
6hF+3ADPJZOP9FWJCCQLhmX3V46Tw4HsfRT28ILBHTXO
Hg==
      &lt;/ds:X509Certificate&gt;
      &lt;/ds:X509Data&gt;
    &lt;/ds:KeyInfo&gt;
  &lt;/ds:Signature&gt;
  &lt;samlp:NameIDPolicy AllowCreate="1"/&gt;
&lt;/samlp:AuthnRequest&gt;
]]&gt;
&lt;/script&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8891523348462874151-3983609084881859610?l=beetsaround.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://beetsaround.blogspot.com/feeds/3983609084881859610/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8891523348462874151&amp;postID=3983609084881859610' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8891523348462874151/posts/default/3983609084881859610'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8891523348462874151/posts/default/3983609084881859610'/><link rel='alternate' type='text/html' href='http://beetsaround.blogspot.com/2009/06/oasis-saml-v20-authnrequest.html' title='OASIS SAML V2.0 AuthnRequest'/><author><name>Todd Beets</name><uri>http://www.blogger.com/profile/13755964672582236472</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://3.bp.blogspot.com/_FOsffwQMLyc/THWuuuu5DoI/AAAAAAAAABE/mXSc8QiQ05U/S220/tbeets.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8891523348462874151.post-1284431131626678354</id><published>2009-06-29T15:10:00.000-07:00</published><updated>2009-06-29T15:13:27.837-07:00</updated><title type='text'>SSL/TLS Mutual Certificate Client AuthN</title><content type='html'>&lt;span style="font-weight:bold;"&gt;The TLS Protocol Version 1.0 (RFC2246)&lt;/span&gt;&lt;br&gt;
&lt;a href="http://www.ietf.org/rfc/rfc2246.txt"&gt;http://www.ietf.org/rfc/rfc2246.txt&lt;/a&gt;
&lt;p&gt;
See &lt;span style="font-style:italic;"&gt;Section 7.4 Handshake Protocol&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8891523348462874151-1284431131626678354?l=beetsaround.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://beetsaround.blogspot.com/feeds/1284431131626678354/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8891523348462874151&amp;postID=1284431131626678354' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8891523348462874151/posts/default/1284431131626678354'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8891523348462874151/posts/default/1284431131626678354'/><link rel='alternate' type='text/html' href='http://beetsaround.blogspot.com/2009/06/ssltls-mutual-certificate-client-authn.html' title='SSL/TLS Mutual Certificate Client AuthN'/><author><name>Todd Beets</name><uri>http://www.blogger.com/profile/13755964672582236472</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://3.bp.blogspot.com/_FOsffwQMLyc/THWuuuu5DoI/AAAAAAAAABE/mXSc8QiQ05U/S220/tbeets.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8891523348462874151.post-3479663151057666560</id><published>2009-06-29T14:54:00.000-07:00</published><updated>2010-08-23T11:15:07.004-07:00</updated><title type='text'>AuthN using HTTP BASIC</title><content type='html'>Specification: &lt;a href="http://www.ietf.org/rfc/rfc2617.txt"&gt;http://www.ietf.org/rfc/rfc2617.txt&lt;/a&gt; &lt;p&gt;Example SOAP Request &lt;p&gt;&lt;script type="syntaxhighlighter" class="brush: xml; highlight: [8, 15, 16, 17]"&gt;
&lt;![CDATA[
POST http://htbeets8.qualcomm.com:7778/gateway/services/SID0003026 HTTP/1.1
Host: localhost:8100
Connection: TE
TE: trailers, deflate, gzip, compress
User-Agent: Oracle HTTPClient Version 10h
SOAPAction: "http://ea.qualcomm.com//sayHello"
Accept-Encoding: gzip, x-gzip, compress, x-compress
Authorization: Basic Y2xpZW50MTp3ZWxjb21lMQ==
Content-type: text/xml; charset=UTF-8
Content-length: 348

&lt;?xml version = '1.0' encoding = 'UTF-8'?&gt;
&lt;env:Envelope xmlns:env="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:ns0="http://ea.qualcomm.com/"&gt;
   &lt;env:Body&gt;
      &lt;ns0:sayHelloElement&gt;
         &lt;ns0:name&gt;Bingo&lt;/ns0:name&gt;
      &lt;/ns0:sayHelloElement&gt;
   &lt;/env:Body&gt;
&lt;/env:Envelope&gt;
]]&gt;
&lt;/script&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8891523348462874151-3479663151057666560?l=beetsaround.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://beetsaround.blogspot.com/feeds/3479663151057666560/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8891523348462874151&amp;postID=3479663151057666560' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8891523348462874151/posts/default/3479663151057666560'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8891523348462874151/posts/default/3479663151057666560'/><link rel='alternate' type='text/html' href='http://beetsaround.blogspot.com/2009/06/authn-using-http-basic.html' title='AuthN using HTTP BASIC'/><author><name>Todd Beets</name><uri>http://www.blogger.com/profile/13755964672582236472</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://3.bp.blogspot.com/_FOsffwQMLyc/THWuuuu5DoI/AAAAAAAAABE/mXSc8QiQ05U/S220/tbeets.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8891523348462874151.post-1021313599815146633</id><published>2009-06-29T14:17:00.000-07:00</published><updated>2010-08-23T11:20:02.219-07:00</updated><title type='text'>OASIS WS-Security UsernameToken Profile 1.0</title><content type='html'>Specification: &lt;a href="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd"&gt;http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd&lt;/a&gt; &lt;p&gt;Example SOAP Request &lt;p&gt;&lt;script type="syntaxhighlighter" class="brush: xml"&gt;
&lt;![CDATA[
&lt;env:Envelope xmlns:env="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" 
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:ns0="http://ea.qualcomm.com/" 
xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd"&gt;
   &lt;env:Header&gt;
      &lt;wsse:Security xmlns:wsse="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd" xmlns="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd" xmlns:env="http://schemas.xmlsoap.org/soap/envelope/" env:mustUnderstand="1"&gt;
         &lt;wsse:UsernameToken xmlns:wsse="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd" xmlns="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd"&gt;
            &lt;wsse:Username&gt;client1&lt;/wsse:Username&gt;
            &lt;wsse:Password Type="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-username-token-profile-1.0#PasswordText"&gt;boguspassword&lt;/wsse:Password&gt;
            &lt;wsse:Nonce&gt;XkpgYAXee+sVZFC796kfVw==&lt;/wsse:Nonce&gt;
            &lt;wsu:Created ValueType="http://www.w3.org/2001/XMLSchema/dateTime"&gt;2009-06-29T21:16:27Z&lt;/wsu:Created&gt;
         &lt;/wsse:UsernameToken&gt;
      &lt;/wsse:Security&gt;
   &lt;/env:Header&gt;
   &lt;env:Body&gt;
      &lt;ns0:sayHelloElement&gt;
         &lt;ns0:name&gt;Bingo&lt;/ns0:name&gt;
      &lt;/ns0:sayHelloElement&gt;
   &lt;/env:Body&gt;
&lt;/env:Envelope&gt;
]]&gt;
&lt;/script&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8891523348462874151-1021313599815146633?l=beetsaround.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://beetsaround.blogspot.com/feeds/1021313599815146633/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8891523348462874151&amp;postID=1021313599815146633' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8891523348462874151/posts/default/1021313599815146633'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8891523348462874151/posts/default/1021313599815146633'/><link rel='alternate' type='text/html' href='http://beetsaround.blogspot.com/2009/06/oasis-ws-security-usernametoken-profile.html' title='OASIS WS-Security UsernameToken Profile 1.0'/><author><name>Todd Beets</name><uri>http://www.blogger.com/profile/13755964672582236472</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://3.bp.blogspot.com/_FOsffwQMLyc/THWuuuu5DoI/AAAAAAAAABE/mXSc8QiQ05U/S220/tbeets.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8891523348462874151.post-9126903922744812145</id><published>2009-06-29T13:45:00.000-07:00</published><updated>2010-08-23T11:16:33.515-07:00</updated><title type='text'>OASIS WS-Security SAML Token Profile 1.0</title><content type='html'>Specification: &lt;a href="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd"&gt;http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd&lt;/a&gt; &lt;p&gt;Example SOAP Request &lt;p&gt;&lt;script type="syntaxhighlighter" class="brush: xml; highlight: [68]"&gt;
&lt;![CDATA[
&lt;env:Envelope xmlns:env="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" 

xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:ns0="http://ws.ea.qualcomm.com/"&gt;
   &lt;env:Header&gt;
      &lt;wsse:Security xmlns:wsse="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd" 

xmlns="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd" 

xmlns:env="http://schemas.xmlsoap.org/soap/envelope/" env:mustUnderstand="1"&gt;
         &lt;wsse:BinarySecurityToken xmlns:wsse="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd" 

xmlns="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd" 

ValueType="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-x509-token-profile-1.0#X509v3" 

EncodingType="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-soap-message-security-1.0#Base64Binary" 

wsu:Id="_KAot36U0XYrol1wtb7kWOg22" xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd"&gt;
MIICDDCCAXUCBEgXkgkwDQYJKoZIhvcNAQEFBQAwTTETMB
EGCgmSJomT8ixkARkTA2NvbTEXMBUGCgmSJomT8ixkARkT
B215dGhpY2ExEDAOBgNVBAMTB3NlcnZlcnMxCzAJBgNVBA
MTAmFzMB4XDTA4MDQyOTIxMjQyNVoXDTEwMDQyOTIxMjQy
NVowTTETMBEGCgmSJomT8ixkARkTA2NvbTEXMBUGCgmSJo
mT8ixkARkTB215dGhpY2ExEDAOBgNVBAMTB3NlcnZlcnMx
CzAJBgNVBAMTAmFzMIGfMA0GCSqGSIb3DQEBAQUAA4GNAD
CBiQKBgQCLPosP7cRaA6oET30xD+ndobLqVOrXZbgPvMXP
oW5vYj3h+s3XCxCaPAgsbrFospwuHoo4liqCRgtGtrSFlr
zh29ZMrDafgY03CgZMb0PQb64I80ZtDuId6Lu2mYwHHZcC
aVJl6e/FFjiUzbPNqZNZtpvWs6fOvaZSz0N5KKt1SQIDAQ
ABMA0GCSqGSIb3DQEBBQUAA4GBAB4e+X4zNBD48HUYFz8s
KTTd+zHlulcek+HvSaEvkGuZZVNHuwsInUQrO57FtSdhLU
UqMevcDaF7deYR5+L1YOdloeHguNpRIVHlznWGQnm7HpUQ
v8a9pu6fbFNmVb9tC4BSx1WWJA2tIa3ZfSx1prRKw0zfLm
ueb7fG5sSO11Vt
         &lt;/wsse:BinarySecurityToken&gt;
         &lt;dsig:Signature xmlns="http://www.w3.org/2000/09/xmldsig#" xmlns:dsig="http://www.w3.org/2000/09/xmldsig#"&gt;
            &lt;dsig:SignedInfo&gt;
               &lt;dsig:CanonicalizationMethod Algorithm="http://www.w3.org/2001/10/xml-exc-c14n#"/&gt;
               &lt;dsig:SignatureMethod Algorithm="http://www.w3.org/2000/09/xmldsig#rsa-sha1"/&gt;
               &lt;dsig:Reference URI="#wgSFhVRuZLJ5kbM0BKga4w22"&gt;
                  &lt;dsig:Transforms&gt;
                     &lt;dsig:Transform 

Algorithm="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-soap-message-security-1.0#STR-Transform"&gt;
                        &lt;wsse:TransformationParameters 

xmlns:wsse="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd"&gt;
                           &lt;dsig:CanonicalizationMethod Algorithm="http://www.w3.org/2001/10/xml-exc-c14n#"/&gt;
                        &lt;/wsse:TransformationParameters&gt;
                     &lt;/dsig:Transform&gt;
                     &lt;dsig:Transform Algorithm="http://www.w3.org/2001/10/xml-exc-c14n#"/&gt;
                  &lt;/dsig:Transforms&gt;
                  &lt;dsig:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/&gt;
                  &lt;dsig:DigestValue&gt;xjwgn0GYMQJ5wjgCUuOotO5Vuu8=&lt;/dsig:DigestValue&gt;
               &lt;/dsig:Reference&gt;
            &lt;/dsig:SignedInfo&gt;
            &lt;dsig:SignatureValue&gt;
BeSxU6l8pBJTz5ObaJ37vIbA2lmn6L9X4QpZSrzWd+tVhG
qWxHnpq4UEbns4AJyiQiTvbrtXgKCSrIjz3Q2Wmb/SJ4d3
3qrTMKJQywhblLWf8RXrljEIOZhDEt9xMasYcbawkq9vAR
9mQHO7l+B25h9XNJhSeqoIBPnrO7JEyyY=
            &lt;/dsig:SignatureValue&gt;
            &lt;dsig:KeyInfo&gt;
               &lt;wsse:SecurityTokenReference xmlns:wsse="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd" 

xmlns="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd"&gt;
                  &lt;wsse:Reference xmlns:wsse="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd" 

xmlns="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd" URI="#_KAot36U0XYrol1wtb7kWOg22" 

ValueType="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-x509-token-profile-1.0#X509v3"/&gt;
               &lt;/wsse:SecurityTokenReference&gt;
            &lt;/dsig:KeyInfo&gt;
         &lt;/dsig:Signature&gt;
         &lt;wsse:SecurityTokenReference xmlns:wsse="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd" 

xmlns="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd" wsu:Id="wgSFhVRuZLJ5kbM0BKga4w22" 

xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd"&gt;
            &lt;wsse:KeyIdentifier xmlns:wsse="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd" 

xmlns="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd" 

ValueType="http://docs.oasis-open.org/wss/oasis-wss-saml-token-profile-1.0#SAMLAssertionID"&gt;qq4yd5hdHQSd1Cai8anNcQ22&lt;/wsse:KeyIdentifier&gt;
         &lt;/wsse:SecurityTokenReference&gt;
         &lt;saml:Assertion MajorVersion="1" MinorVersion="1" xmlns="urn:oasis:names:tc:SAML:1.0:assertion" 

xmlns:saml="urn:oasis:names:tc:SAML:1.0:assertion" AssertionID="qq4yd5hdHQSd1Cai8anNcQ22" IssueInstant="2009-06-29T20:41:30Z" 

Issuer="http://as.mythica.com"&gt;
            &lt;saml:Conditions NotBefore="2009-06-29T20:41:30Z" NotOnOrAfter="2009-06-30T20:41:30Z"/&gt;
            &lt;saml:AuthenticationStatement AuthenticationInstant="2009-06-29T20:41:30Z" 

AuthenticationMethod="urn:oasis:names:tc:SAML:1.0:am:password"&gt;
               &lt;saml:Subject&gt;
                  &lt;saml:NameIdentifier 

Format="urn:oasis:names:tc:SAML:1.1:nameid-format:unspecified"&gt;tbeets@qualcomm.com&lt;/saml:NameIdentifier&gt;
                  &lt;saml:SubjectConfirmation&gt;
                     &lt;saml:ConfirmationMethod&gt;urn:oasis:names:tc:SAML:1.0:cm:sender-vouches&lt;/saml:ConfirmationMethod&gt;
                  &lt;/saml:SubjectConfirmation&gt;
               &lt;/saml:Subject&gt;
            &lt;/saml:AuthenticationStatement&gt;
         &lt;/saml:Assertion&gt;
      &lt;/wsse:Security&gt;
   &lt;/env:Header&gt;
   &lt;env:Body&gt;
      &lt;ns0:speakElement/&gt;
   &lt;/env:Body&gt;
&lt;/env:Envelope&gt;
]]&gt;
&lt;/script&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8891523348462874151-9126903922744812145?l=beetsaround.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://beetsaround.blogspot.com/feeds/9126903922744812145/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8891523348462874151&amp;postID=9126903922744812145' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8891523348462874151/posts/default/9126903922744812145'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8891523348462874151/posts/default/9126903922744812145'/><link rel='alternate' type='text/html' href='http://beetsaround.blogspot.com/2009/06/oasis-ws-security-saml-token-profile.html' title='OASIS WS-Security SAML Token Profile 1.0'/><author><name>Todd Beets</name><uri>http://www.blogger.com/profile/13755964672582236472</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://3.bp.blogspot.com/_FOsffwQMLyc/THWuuuu5DoI/AAAAAAAAABE/mXSc8QiQ05U/S220/tbeets.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8891523348462874151.post-4732828565932396371</id><published>2009-06-29T10:57:00.000-07:00</published><updated>2010-08-23T11:17:11.901-07:00</updated><title type='text'>OASIS WS-Security X.509 Certificate Token Profile</title><content type='html'>Specification: &lt;a href="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd"&gt;http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd&lt;/a&gt; &lt;p&gt;Example SOAP Request &lt;p&gt;&lt;script type="syntaxhighlighter" class="brush: xml; highlight: [63, 64, 65]"&gt;
&lt;![CDATA[
&lt;env:Envelope xmlns:env="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:ns0="http://ea.qualcomm.com/"&gt;
   &lt;env:Header&gt;
      &lt;wsse:Security xmlns:wsse="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd" xmlns="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd" xmlns:env="http://schemas.xmlsoap.org/soap/envelope/" env:mustUnderstand="1"&gt;
         &lt;wsse:BinarySecurityToken xmlns:wsse="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd" xmlns="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd" ValueType="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-x509-token-profile-1.0#X509v3" EncodingType="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-soap-message-security-1.0#Base64Binary" wsu:Id="UqzXZsJ6Xi3pT5JURPnfCg22" xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd"&gt;
MIID6jCCAtKgAwIBAgIBDTANBgkqhkiG9w0BAQQFADBpMQ
swCQYDVQQGEwJVUzEcMBoGA1UEChMTTXl0aGljYSBDb3Jw
b3JhdGlvbjEUMBIGA1UECxMLSVQgRGl2aXNpb24xJjAkBg
NVBAMTHU15dGhpY2EgQ2VydGlmaWNhdGUgQXV0aG9yaXR5
MB4XDTA3MDYyNDA0NTYzOFoXDTA5MDYyMzA0NTYzOFowTj
ELMAkGA1UEBhMCVVMxFjAUBgNVBAoTDUJvYm9tYXRpYyBJ
bmMxFTATBgNVBAsTDEIyQiBEaXZpc2lvbjEQMA4GA1UEAx
MHY2xpZW50MjCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkC
gYEAgve2StZmkbTsNbi3LsuZps39uWT8kwdEV2z0HK5ro6
d/dYhgjllLpBr/yYPm0FQ2J3RL58pSNG2NFW3/tzbwWedo
pfNYgQd0O4Dy5Rzf9ZiTQlmTjio6/cncA3ZB3PpTIiPx+I
Q20ATXiIdm3Cja0xebtiOq5WOfdyNo7KmnELsCAwEAAaOC
ATowggE2MAwGA1UdDwQFAwMH8AAwJwYDVR0lBCAwHgYIKw
YBBQUHAwQGCCsGAQUFBwMBBggrBgEFBQcDAjCB/AYDVR0f
BIH0MIHxMIHuoIHroIHohoHlbGRhcDovL2h0YmVldHMxLn
F1YWxjb21tLmNvbS8zMTMxL2NuPW9jYTEsY249Q1JMVmFs
aWRhdGlvbixjbj1WYWxpZGF0aW9uLGNuPVBLSSxjbj1Qcm
9kdWN0cyxjbj1PcmFjbGVDb250ZXh0P2NlcnRpZmljYXRl
cmV2b2NhdGlvbmxpc3Q/b25lP29yY2xQS0lJc3N1ZXJETj
1DTj1NeXRoaWNhIENlcnRpZmljYXRlIEF1dGhvcml0eSxP
VT1JVCBEaXZpc2lvbixPPU15dGhpY2EgQ29ycG9yYXRpb2
4sQz1VUzANBgkqhkiG9w0BAQQFAAOCAQEAbudCFYkRi8I3
bBBmbU8rhi1tgA2trPd8xrzou0yyZgsh2qQ3TgsOeXA3at
DbEPoUcKiDc8dck85Y7rcuLt64REH3looHG7r1iJj5ivcZ
lYywJBkb4fK9Cv4+CGu8skTVRcvDk/kkz1DsdYq/7fddun
XlU0VGplNIAIKOH8q642aK1C+S2X4dL1SHOQdKin2xZAXJ
a9a8hvO8ffnJDLq2c6HtJEJq0RRRM6BxCw5l8i/dJtjmKl
6PLzXHC6Qmt7pam7Jz95N+Jw4kEQu5VI7vrFlRBQXL5lkn
Uxlrc5+Hf7S/ftgNfN5jGrWpPNLBzqiAatGuWOFknxHXJE
b/aOHhug==
         &lt;/wsse:BinarySecurityToken&gt;
         &lt;dsig:Signature xmlns="http://www.w3.org/2000/09/xmldsig#" xmlns:dsig="http://www.w3.org/2000/09/xmldsig#"&gt;
            &lt;dsig:SignedInfo&gt;
               &lt;dsig:CanonicalizationMethod Algorithm="http://www.w3.org/2001/10/xml-exc-c14n#"/&gt;
               &lt;dsig:SignatureMethod Algorithm="http://www.w3.org/2000/09/xmldsig#rsa-sha1"/&gt;
               &lt;dsig:Reference URI="#UqzXZsJ6Xi3pT5JURPnfCg22"&gt;
                  &lt;dsig:Transforms&gt;
                     &lt;dsig:Transform Algorithm="http://www.w3.org/2001/10/xml-exc-c14n#"/&gt;
                  &lt;/dsig:Transforms&gt;
                  &lt;dsig:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/&gt;
                  &lt;dsig:DigestValue&gt;ZpXPiHHAU8DZBHr+Lkw41S2Q9Dc=&lt;/dsig:DigestValue&gt;
               &lt;/dsig:Reference&gt;
            &lt;/dsig:SignedInfo&gt;
            &lt;dsig:SignatureValue&gt;
EXc4xBMUhkkNYfE88T1GN8Xa138zX0TjBPtu/Vtg0ZbzKs
8FHM96nD8FKUMMi/7DqkWwpOoFlM+lQTNZBmH/TrQYN0Ts
f6wkajTMMH9bS5PdyaC5Xkk2dZINxrveweokCwSH2LD8+Y
0FNyHsevi84Fnah6jr62+h6DGyBPYt3qw=
            &lt;/dsig:SignatureValue&gt;
            &lt;dsig:KeyInfo&gt;
               &lt;wsse:SecurityTokenReference xmlns:wsse="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd" xmlns="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd"&gt;
                  &lt;wsse:Reference xmlns:wsse="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd" xmlns="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd" URI="#UqzXZsJ6Xi3pT5JURPnfCg22" ValueType="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-x509-token-profile-1.0#X509v3"/&gt;
               &lt;/wsse:SecurityTokenReference&gt;
            &lt;/dsig:KeyInfo&gt;
         &lt;/dsig:Signature&gt;
      &lt;/wsse:Security&gt;
   &lt;/env:Header&gt;
   &lt;env:Body&gt;
      &lt;ns0:sayHelloElement&gt;
         &lt;ns0:name&gt;Bingo&lt;/ns0:name&gt;
      &lt;/ns0:sayHelloElement&gt;
   &lt;/env:Body&gt;
&lt;/env:Envelope&gt;
]]&gt;
&lt;/script&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8891523348462874151-4732828565932396371?l=beetsaround.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://beetsaround.blogspot.com/feeds/4732828565932396371/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8891523348462874151&amp;postID=4732828565932396371' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8891523348462874151/posts/default/4732828565932396371'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8891523348462874151/posts/default/4732828565932396371'/><link rel='alternate' type='text/html' href='http://beetsaround.blogspot.com/2009/06/miid6jccatkgawibagibdtanbgkqhkig9w0baqq.html' title='OASIS WS-Security X.509 Certificate Token Profile'/><author><name>Todd Beets</name><uri>http://www.blogger.com/profile/13755964672582236472</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://3.bp.blogspot.com/_FOsffwQMLyc/THWuuuu5DoI/AAAAAAAAABE/mXSc8QiQ05U/S220/tbeets.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8891523348462874151.post-1801484605416287244</id><published>2009-03-18T13:52:00.001-07:00</published><updated>2010-08-22T20:49:41.852-07:00</updated><title type='text'>Code Syntax Highlighting in Blogs Hooray!</title><content type='html'>Finally had a moment and some luck finding a good code-syntax highlighting technique for blogs. &lt;a href="http://alexgorbatchev.com/wiki/SyntaxHighlighter"&gt;http://alexgorbatchev.com/wiki/SyntaxHighlighter&lt;/a&gt; &lt;p/&gt;Here is an example:  &lt;pre class="brush: java"&gt;@WebService
@Policy(uri = "policy:Wssp1.2-2007-Wss1.1-UsernameToken-Plain-X509-Basic256.xml")
public class BrokerService {

...
}
&lt;/pre&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8891523348462874151-1801484605416287244?l=beetsaround.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://beetsaround.blogspot.com/feeds/1801484605416287244/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8891523348462874151&amp;postID=1801484605416287244' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8891523348462874151/posts/default/1801484605416287244'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8891523348462874151/posts/default/1801484605416287244'/><link rel='alternate' type='text/html' href='http://beetsaround.blogspot.com/2009/03/namecode-classjava-webservice-policyuri.html' title='Code Syntax Highlighting in Blogs Hooray!'/><author><name>Todd Beets</name><uri>http://www.blogger.com/profile/13755964672582236472</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://3.bp.blogspot.com/_FOsffwQMLyc/THWuuuu5DoI/AAAAAAAAABE/mXSc8QiQ05U/S220/tbeets.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8891523348462874151.post-350490398815023332</id><published>2007-08-02T23:14:00.000-07:00</published><updated>2007-08-02T23:20:07.626-07:00</updated><title type='text'>First blog post, beetsme.blogspot.com already taken. Curses!</title><content type='html'>This is my debut blog post (outside of my company that is) ... yes, I know it's almost 2008!  I can't believe beetsme.blogspot.com is already taken -- with the holder making all of one post back in 2005 no less.  So ... I'll abandon parallel naming with my home page &lt;a href="http://beetsme.net"&gt;http://beetsme.net&lt;/a&gt;.  Long live &lt;a href="http://beetsaround.blogspot.com"&gt;Beets Around&lt;/a&gt;!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8891523348462874151-350490398815023332?l=beetsaround.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://beetsaround.blogspot.com/feeds/350490398815023332/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8891523348462874151&amp;postID=350490398815023332' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8891523348462874151/posts/default/350490398815023332'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8891523348462874151/posts/default/350490398815023332'/><link rel='alternate' type='text/html' href='http://beetsaround.blogspot.com/2007/08/first-blog-post-beetsmeblogspotcom.html' title='First blog post, beetsme.blogspot.com already taken. Curses!'/><author><name>Todd Beets</name><uri>http://www.blogger.com/profile/13755964672582236472</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://3.bp.blogspot.com/_FOsffwQMLyc/THWuuuu5DoI/AAAAAAAAABE/mXSc8QiQ05U/S220/tbeets.jpg'/></author><thr:total>0</thr:total></entry></feed>
