Get the invalid Task Url within a Web-based InfoPath Form from Workspace or Worklist Webpart

  • 16 October 2012
  • 5 replies
  • 2 views

Badge +1

According to our business, I have implemented some K2 Workflows based on Web-based InfoPath Form using K2 Studio. Everything is gone well in my development environment. After I deploying to QA environment of client, I start to get the headache.


I met a so strange problem when I start to submit a Infopath Form, I can get its Worklist Item has been routed to somebody as well. I also find its Worklist item in Workspace, but I cannot open it by clicking its link in Workspace according to its url is not correct here.


I make more worlds for this sense. In my development environment, I develop these all under a SharePoint Site Collection: http://portal.denallix.com/. The target environement of our client's QA environemtn will be another site collection, for example: http://qa.company.com/. After I completed to deploy my solution to target QA environement. Then I submited a form, I can get its Worklist item in Workspace. But I found its url looks like below:


http://portal.denallix.com/_layouts/K2/RuntimeServices/OpenInfoPathTask.aspx?K2Server=DLX:5252&SN=49_9&XmlFN=FormTestLib2&Lib=Test%20Lib%202&OpenAsWebPage=True&DeployBrowserEnable=True&SPURL=http://qa.company.com&Single=True


So I don't know why the strange words "protal,denallix.com" list here? Anyone give me some solution for solving this. It is so urgent for me. Thanks.


5 replies

Badge +10

The URL that is used in the forms typically comes when you step through the InfoPath integration wizard and choose the SharePoint site that you'll be deploying the form to.  This should be a SharePoint environment variable that you can then update in your customers enviornment to be the correct SharePoint site for them.  If its not an environment variable then it probably means it was hard coded to http://portal.denallix.com and you should make the change in your development environment using an environmnent variable and redeploy a new version.

Badge +1

Thanks for your reply. :)


Yes, I have created all the environment fields in my dev environemtn and qa environment, same variables with different value point to target SharePoint Site. I use this develepment package for deploying to qa environment. Then I get this problem, the task url point to the original value within dev environment...


So I want to find a solutiong for solving this. As we can not install a K2 Studio in that client's production environment in future.....

Badge +10

If you open up the msbuild file does the QA value contain the right URL?


When using InfoPath you need to use K2 Studio to deploy since it opens up the xsn and changes the connection parameters for the correct enviornment at deployment.  I suspect that you could extract the xsn source files and manually make the change but it is a pain.


Note that you DO NOT need to install K2 Studio on the K2 Production server.  As long as the person that is deploying has the export permissions and network access to the production K2 server from their workstation running K2 Studio they can deploy.  Most customers I work use this technique. 

Badge +1

Hi,


. The .msbuild file does not contains any variable of indicating to Target SharePoint Site URL, list all the environment fields that defined in DEV environment. I can explain how we do this. If I need to deploy a new version to QA environement. At first, I create a Deployment Package using K2 Studio. Then modify this .msbuild file for updating all environment fields toward to QA environment. The last step is I move this package to ther server in QA, execute a .bat file for invoking msbuild executable program to deploying to the K2 server of QA environment.


. For the interupting of update Custom Data Connection *.udcx within InfoPath Form. Yes, I use this solution that export its source then update it manually. It's a pain....but it's ok, as it can work. We can fill out and submit IP Form using Custom Data Connection.


. As your descriptiong, do you mean this is not possible that deploy solution intergrated with InfoPath using a published package? Is there the only solution should be deploying using K2 Studio/K2 Designer for Visual Studio by changing deployment target towards to the target environment?

Badge +10

I believe its possible to deploy an InfoPath process across enviornments using a deployment package but there are a bunch of extra manual steps you need to step through.  I think you found a bunch of them already.


Another one is that if you have SmartObjects integrated into the form there are specific connection string that when the SmartObject executes gets passed to the K2 InfoPath web service that execute the SmartObject.  Specifically the <_soServer> node which contains the connection inforamtion.  This connection information isn't updated to point to the correct K2 Server except by using the deployment wizard since at that point it opens up the xsn and changes the values for the correct enviornment.


When you extract the Source files you can go to the XML file for the SmartObject you're calling and manually change the connection string for the right Host and correct port which I believe should then allow it to work.


     <Locals>
      <_soServer>Integrated=True;IsPrimaryLogin=True;Authenticate=True;EncryptedPassword=False;Host=dlx;Port=5555</_soServer>
      <_soPort>5555</_soPort>
      <_soGuid>a2a9a2f3-1c46-4db2-9843-1a940e300277</_soGuid>
      <_soName>CTRComments</_soName>
      <_soMethodName>GetList</_soMethodName>
      <_soIsListMethod>True</_soIsListMethod>
      <_soServerFieldDescription>SmartObject Server</_soServerFieldDescription>
     </Locals>

Reply