This is the soap going from the jboss portal towards sharepoint: (of course the unusefull information stripped out here).
beware: i put spaces between the ampersand sign and 'amp' and 'quot' etc.
This soap looks exact like the one which i intercept (no fiddling by this bb forum)
<env:Envelope xmlns:env="http://schemas.xmlsoap.org/soap/envelope/">
<env:Header/>
<env:Body>
<ns1:getMarkupResponse xmlns:ns1="urn:oasis:names:tc:wsrp:v1:types" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<ns1:markupContext>
<ns1:useCachedMarkup xmlns:ns1="urn:oasis:names:tc:wsrp:v1:types">false</ns1:useCachedMarkup>
<ns1:mimeType xmlns:ns1="urn:oasis:names:tc:wsrp:v1:types">text/html</ns1:mimeType>
<ns1:markupString xmlns:ns1="urn:oasis:names:tc:wsrp:v1:types">& lt;!DOCTYPE div PUBLIC & quot;-//W3C//DTD XHTML 1.0 Strict//EN& quot; & quot;http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd& quot;& gt;& lt;div xmlns=& quot;http://www.w3.org/1999/xhtml& quot; class=& quot;bi& quot;& gt;.................CUT.............
& lt;form enctype=& quot;multipart/form-data& quot; id=& quot;cmfform& quot; method=& quot;POST& quot; action=& quot;wsrp_rewrite?wsrp-urlType=blockingAction& amp;wsrp-interactionState=JBPNS_rO0ABXc_AAliaS1hY3Rpb24AAAABACVwb3J0bGV0L0NsaWVudGRvc3NpZXIvQWFubWFrZW5kb3NzaWVyAAdfX0VPRl9f& amp;wsrp-navigationalState=JBPNS_rO0ABXdPAA5iaS1yZWRpcmVjdC10bwAAAAEAMC9wb3J0bGV0L0NsaWVudGRvc3NpZXIvQWFubWFrZW5kb3NzaWVyP2luaXQ9dHJ1ZQAHX19FT0ZfXw**& amp;/wsrp_rewrite& quot;& gt;& lt;div& gt;& lt;input value=& quot;& quot; name=& quot;focusfield& quot; id=& quot;f...................CUT......................</ns1:markupString>
<ns1:locale xmlns:ns1="urn:oasis:names:tc:wsrp:v1:types">en-us</ns1:locale>
<ns1:requiresUrlRewriting xmlns:ns1="urn:oasis:names:tc:wsrp:v1:types">true</ns1:requiresUrlRewriting>
<ns1:preferredTitle xmlns:ns1="urn:oasis:names:tc:wsrp:v1:types">xx Web Appplication Portlet</ns1:preferredTitle>
</ns1:markupContext>
</ns1:getMarkupResponse>
</env:Body>
</env:Envelope>
When the user fills in data in sharepoint and post it back towards jboss portal, the soap looks like:
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<soap:Body>
<performBlockingInteraction xmlns="urn:oasis:names:tc:wsrp:v1:types">
<registrationContext>
<registrationHandle>10</registrationHandle>
</registrationContext>
<portletContext>
<portletHandle>/xxx.yy</portletHandle>
</portletContext>
<runtimeContext>
<userAuthentication>wsrp:password</userAuthentication>
<templates>
<defaultTemplate>wsrp_rewrite?wsrp-urlType={wsrp-urlType}& amp;wsrp-url={wsrp-url}& amp;wsrp-requiresRewrite={wsrp-requiresRewrite}& amp;wsrp-navigationalState={wsrp-navigationalState}& amp;wsrp-interactionState={wsrp-interactionState}& amp;wsrp-mode={wsrp-mode}& amp;wsrp-windowState={wsrp-windowState}& amp;wsrp-fragmentID={wsrp-fragmentID}& amp;wsrp-secureURL={wsrp-secureURL}/wsrp_rewrite</defaultTemplate>
<blockingActionTemplate>wsrp_rewrite?wsrp-urlType={wsrp-urlType}& amp;wsrp-url={wsrp-url}& amp;wsrp-requiresRewrite={wsrp-requiresRewrite}& amp;wsrp-navigationalState={wsrp-navigationalState}& amp;wsrp-interactionState={wsrp-interactionState}& amp;wsrp-mode={wsrp-mode}& amp;wsrp-windowState={wsrp-windowState}& amp;wsrp-fragmentID={wsrp-fragmentID}& amp;wsrp-secureURL={wsrp-secureURL}/wsrp_rewrite</blockingActionTemplate>
<renderTemplate>wsrp_rewrite?wsrp-urlType={wsrp-urlType}& amp;wsrp-url={wsrp-url}& amp;wsrp-requiresRewrite={wsrp-requiresRewrite}& amp;wsrp-navigationalState={wsrp-navigationalState}& amp;wsrp-interactionState={wsrp-interactionState}& amp;wsrp-mode={wsrp-mode}& amp;wsrp-windowState={wsrp-windowState}& amp;wsrp-fragmentID={wsrp-fragmentID}& amp;wsrp-secureURL={wsrp-secureURL}/wsrp_rewrite</renderTemplate>
<resourceTemplate>wsrp_rewrite?wsrp-urlType={wsrp-urlType}& amp;wsrp-url={wsrp-url}& amp;wsrp-requiresRewrite={wsrp-requiresRewrite}& amp;wsrp-navigationalState={wsrp-navigationalState}& amp;wsrp-interactionState={wsrp-interactionState}& amp;wsrp-mode={wsrp-mode}& amp;wsrp-windowState={wsrp-windowState}& amp;wsrp-fragmentID={wsrp-fragmentID}& amp;wsrp-secureURL={wsrp-secureURL}/wsrp_rewrite</resourceTemplate>
<secureDefaultTemplate>wsrp_rewrite?wsrp-urlType={wsrp-urlType}& amp;wsrp-url={wsrp-url}& amp;wsrp-requiresRewrite={wsrp-requiresRewrite}& amp;wsrp-navigationalState={wsrp-navigationalState}& amp;wsrp-interactionState={wsrp-interactionState}& amp;wsrp-mode={wsrp-mode}& amp;wsrp-windowState={wsrp-windowState}& amp;wsrp-fragmentID={wsrp-fragmentID}& amp;wsrp-secureURL={wsrp-secureURL}/wsrp_rewrite</secureDefaultTemplate>
<secureBlockingActionTemplate>wsrp_rewrite?wsrp-urlType={wsrp-urlType}& amp;wsrp-url={wsrp-url}& amp;wsrp-requiresRewrite={wsrp-requiresRewrite}& amp;wsrp-navigationalState={wsrp-navigationalState}& amp;wsrp-interactionState={wsrp-interactionState}& amp;wsrp-mode={wsrp-mode}& amp;wsrp-windowState={wsrp-windowState}& amp;wsrp-fragmentID={wsrp-fragmentID}& amp;wsrp-secureURL={wsrp-secureURL}/wsrp_rewrite</secureBlockingActionTemplate>
<secureRenderTemplate>wsrp_rewrite?wsrp-urlType={wsrp-urlType}& amp;wsrp-url={wsrp-url}& amp;wsrp-requiresRewrite={wsrp-requiresRewrite}& amp;wsrp-navigationalState={wsrp-navigationalState}& amp;wsrp-interactionState={wsrp-interactionState}& amp;wsrp-mode={wsrp-mode}& amp;wsrp-windowState={wsrp-windowState}& amp;wsrp-fragmentID={wsrp-fragmentID}& amp;wsrp-secureURL={wsrp-secureURL}/wsrp_rewrite</secureRenderTemplate>
<secureResourceTemplate>wsrp_rewrite?wsrp-urlType={wsrp-urlType}& amp;wsrp-url={wsrp-url}& amp;wsrp-requiresRewrite={wsrp-requiresRewrite}& amp;wsrp-navigationalState={wsrp-navigationalState}& amp;wsrp-interactionState={wsrp-interactionState}& amp;wsrp-mode={wsrp-mode}& amp;wsrp-windowState={wsrp-windowState}& amp;wsrp-fragmentID={wsrp-fragmentID}& amp;wsrp-secureURL={wsrp-secureURL}/wsrp_rewrite</secureResourceTemplate>
</templates>
</runtimeContext>
<userContext>
<userContextKey>xx\Administrator</userContextKey>
</userContext>
<markupParams>
<secureClientCommunication>false</secureClientCommunication>
<locales>en-us</locales>
<mimeTypes>text/html</mimeTypes>
<mimeTypes>text/xml</mimeTypes>
<mode>wsrp:view</mode>
<windowState>wsrp:normal</windowState>
<navigationalState>JBPNS_rO0ABXdPAA5iaS1yZWRpcmVjdC10bwAAAAEAMC9wb3J0bGV0L0NsaWVudGRvc3NpZXIvQWFubWFrZW5kb3NzaWVyP2luaXQ9dHJ1ZQAHX19FT0ZfXw**</navigationalState>
</markupParams>
<interactionParams>
<portletStateChange>cloneBeforeWrite</portletStateChange>
<interactionState>JBPNS_rO0ABXc_AAliaS1hY3Rpb24AAAABACVwb3J0bGV0L0NsaWVudGRvc3NpZXIvQWFubWFrZW5kb3NzaWVyAAdfX0VPRl9f& amp;[2]=JBPNS_rO0ABXdPAA5iaS1yZWRpcmVjdC10bwAAAAEAMC9wb3J0bGV0L0NsaWVudGRvc3NpZXIvQWFubWFrZW5kb3NzaWVyP2luaXQ9dHJ1ZQAHX19FT0ZfXw**</interactionState>
<formParameters name="focusfield">
<value/>
</formParameters>
</interactionParams>
</performBlockingInteraction>
</soap:Body>
</soap:Envelope>
then there is an error:
2009-02-11 15:56:27,268 ERROR [STDERR] Bad Base64 input character at 92: 38(decimal)
2009-02-11 15:56:31,873 DEBUG [org.jbpm.svc.Services] closing service 'tx': org.jbpm.tx.TxService@19e1e9
2009-02-11 15:56:33,253 DEBUG [org.jboss.ws.core.jaxrpc.handler.MessageContextJAXRPC] Begin response processing
2009-02-11 15:56:33,253 ERROR [org.jboss.ws.core.jaxrpc.SOAPFaultHelperJAXRPC] SOAP request exception
2009-02-11 15:56:33,253 ERROR [org.jboss.ws.core.jaxrpc.SOAPFaultHelperJAXRPC] SOAP request exception
javax.xml.rpc.soap.SOAPFaultException: Could not perform action on portlet '/xx.yyPortlet'. javax.servlet.ServletException
at org.jboss.portal.wsrp.WSRPExceptionFactory.createSOAPFaultException(WSRPExceptionFactory.java:126)
at org.jboss.portal.wsrp.WSRPExceptionFactory.throwSOAPFaultException(WSRPExceptionFactory.java:88)
at org.jboss.portal.wsrp.producer.MarkupHandler.performBlockingInteraction(MarkupHandler.java:136)
at org.jboss.portal.wsrp.producer.WSRPProducerImpl.performBlockingInteraction(WSRPProducerImpl.java:189)
Have a look at that strange interactionState string... [2]....that's not valid base64, is that why the error is there?