I am trying to connect to an SSL secured web services for the EmpBasic objects contined within Epicor. I've gotten Progress setup successfully so the port is listening, but I keep getting the above errors. From what I gather, I need to set the type of state I will be using(state-less) on the client-side, but how can I do this since I am using web services?
Under my current object, I don't see any properties that will allow me to forcibly set a state-less connection.
I am not an expert on the Epicor client, but can you access the webService via a browser? Have you tried to change the opposite side of the error (if you're seeing this error in the client, set the AppServer to State-less (if you think the client is expecting that defaultly) or if it is the server erroring, set the AppServer to State-free and see if that works?
I can access the service file from my browser just fine, as well as adding it as a service reference within my VS2012 project. Intellisense is working, so I know the service is up and running. I should also mention this is a C# project.
The AppServer is currently running in 'state-less' mode since I plan on eventually accessing it via dynamic web applications, but for now I am simply creating a basic WinForms app to test functionality.
The following article describes the same problem is am having:
However the solution given is to set the sessionModel parameter to 'state-free'. None of the objects available from the webservices have this as a property, and I cannot for the life of me figure out how to set it!
This next article is for Java, and does not pertain to webservices. I assume there is some sort of property somewhere I can set similarly to what this guy did:
Changing the sessionModel on the AppServer to different types caused a ton of excecptions but never allowed me to connect, and from what I gather state-free is the mode I want anyway for the implementation I have planned.
On the Epicor AppServer, I can see that my request is indeed making it to the right place. The AppServer logs show this:
Error Unexpected CONNECT request in state-free mode ... disconnecting client. (8091)
These occur every time I connect, so I am sure that the problem lies with a mismatch on the communication style.
Thanks for you help,
The article P40074 mentions to specify session-free in the connection because the AppServer was running in state-free mode and the client tried to connect in session-managed.
As far as I understood, your AppServer is running in stateless. I am wondering if the Web Service has not been created in session-free mode instead of session-managed?
What happens if you start the AppServer in state-free?
To change the mode of the webservice, I am pretty sure you have to go back into proxygen and changethe Session model and undepoly and re-deploy it.
Again, don't know about the Epicor Client.
As I understand the Epicor Webservices deployment guide, there shouldn't be any reason to run through ProxyGen at all. Per the docs you simply select the WCF webservices that you require, and click deploy. It deploys them into IIS for you. As I said before, I can connect to the *.svc service webpage and see the methods, as well as add a service reference to visucal studio that generates all the proper classes automatically. That is enough for me to see the service is deployed correctly on that end. I tried running in state-less and I receive a different, non-specific error than I do in statefree mode, but it's not enough to shed any light on the situation.