1
2
3
4
5
6
7
8
9
10
11
12
13 package com.eviware.soapui.impl.wsdl.actions.request;
14
15 import java.awt.event.ActionEvent;
16 import java.io.StringWriter;
17
18 import javax.swing.AbstractAction;
19
20 import org.w3c.dom.Document;
21
22 import com.eviware.soapui.impl.wsdl.WsdlRequest;
23 import com.eviware.soapui.impl.wsdl.support.wss.OutgoingWss;
24 import com.eviware.soapui.model.propertyexpansion.DefaultPropertyExpansionContext;
25 import com.eviware.soapui.support.UISupport;
26 import com.eviware.soapui.support.xml.XmlUtils;
27
28 /***
29 * Prompts to add a WSS Username Token to the specified WsdlRequests
30 * requestContent
31 *
32 * @author Ole.Matzura
33 */
34
35 public class ApplyOutgoingWSSToRequestAction extends AbstractAction
36 {
37 private final WsdlRequest request;
38 private final OutgoingWss outgoing;
39
40 public ApplyOutgoingWSSToRequestAction( WsdlRequest request, OutgoingWss outgoing )
41 {
42 super( "Apply \" " + outgoing.getName() + " \"" );
43 this.request = request;
44 this.outgoing = outgoing;
45 }
46
47 public void actionPerformed( ActionEvent e )
48 {
49 String req = request.getRequestContent();
50
51 try
52 {
53 UISupport.setHourglassCursor();
54 Document dom = XmlUtils.parseXml( req );
55 outgoing.processOutgoing( dom, new DefaultPropertyExpansionContext( request ) );
56 StringWriter writer = new StringWriter();
57 XmlUtils.serialize( dom, writer );
58 request.setRequestContent( writer.toString() );
59 }
60 catch( Exception e1 )
61 {
62 UISupport.showErrorMessage( e1 );
63 }
64 finally
65 {
66 UISupport.resetCursor();
67 }
68 }
69 }