| Short answer: we usually don't use SOAP unless it is strictly necessary in your system. We have simpler and/or more efficient protocols. Long answer: We do not use SOAP when it is not strictly necessary. Most Jolie programs use SODEP (our own open binary protocol) or HTTP/JSON or HTTP/XML. You do not need to deal with this manually, you just tell Jolie "use HTTP" or "use SODEP" in the deployment part. For example, this is how you expose your service in SODEP: inputPort MyService {
Location: "socket://localhost:80"
Protocol: sodep
Interfaces: MyIface
} and this is how you get the same thing but in HTTP: inputPort MyService {
Location: "socket://localhost:80"
Protocol: http
Interfaces: MyIface
} If you use Jolie to provide a SOAP service, it will most probably be completely invisible. You just have to choose soap and you are done: inputPort MyService {
Location: "socket://localhost:80"
Protocol: soap
Interfaces: MyIface
} Jolie will take care of using the right data formats without you noticing. If you need to access an external SOAP service, there are many cases in which it can be invisible, but also many other cases in which you will have to tell Jolie some extra parameters in case some extensions or weird details need to be used. |