VSCode Tips & Tricks - SOAP Wizard
Tags: vscode, development, trick, code
Published: 2023-06-17 15:51:39

Another VSCode "Tips & Tricks" entry -


![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/3tl1th2stqer5h5w9wn6.png)

Do you want to see this option in VSCode?

<!--break-->This time we'll focus on how to get the SOAP Wizard as was available in Studio (to define a WSDL-based SOAP Web Service client (and Business Operation), or service).

If you work with Web Services you most probably used the SOAP Wizard in Studio. You would open it via Tools -> Add-Ins


![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/io33inon5hq9ou3ly7g5.png)

And this opened a "Server Template" -


![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/vg4rj4gww9i1429uo5ye.png)

In VSCode you might be wondering how you can access this.

Well the basic fact you need to understand is that truly this Add-In or Wizard is simply a web page, displayed within Studio per above, and as such can also be accessed in a simple browser. VSCode facilitates the opening of such a browser with the desired content (ultimately constructing the correct URL with the right server name, port, web application, etc.).

The result would be the same as you see an option to open the Management Portal or the Class Reference (with relevant URLs) when you click on the Server Connection on the bottom Status Bar of VSCode, for example:


![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/6y4ws4gbmdnhfm3xwb13.png)

You will also see an entry for the SOAP Wizard.

You can achieve this by adding a 'links' entry in to your 'conn' object in your Settings JSON of your ObjectScript Extension, and specifying the desired URL (using the relevant variables).

This is mentioned in the VSCode ObjectScript's GitHub Issues discussion under a ["SOAP Wizard" issue](https://github.com/intersystems-community/vscode-objectscript/issues/325), with comments by @John.Murray<span> </span>and @Ondrej.Hoferek,<span> and also referred to in <a href="https://community.intersystems.com/post/visual-studio-code-templates-or-wizards#comment-134546">this comment</a> on a Community post by @Timothy.Leavitt<span> </span></span>  
 

The JSON value would be:

<div style="background:#eeeeee;border:1px solid #cccccc;padding:5px 10px;">
  "SOAP Wizard": "${serverUrl}/isc/studio/templates/%25ZEN.Template.AddInWizard.SOAPWizard.cls?Namespace=${namespace}${serverAuth}"
</div>

 

And this part would look like this:


![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/238macoc35h4szlqq3hz.png)

Once you have this you will see an extra option when you click on the Connection -


![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/ac0zxltvt1vla3x4aah7.png) 

And choosing that option will take you to the desired Wizard (opened in a Browser):


![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/bqk0974rr7dvjxq50ham.png) 

Here's a short GIF demonstrating this process (starting from the regular menu when clicking the Connection, and ending with the menu including the SOAP Wizard).


![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/vucjzfyyxd5ve1shsy2h.gif)<span> </span>

Note there are other Wizards (or Templates) you can add this way (like the XSD Wizard for example).