Go Premium for a chance to win a PS4. Enter to Win

x
  • Status: Solved
  • Priority: Medium
  • Security: Public
  • Views: 1411
  • Last Modified:

How to consume XML WSDL with Header Authentication?

I have a web service I'm trying to program to.  I've used other web services (XML) fine, but this one is perplexing me; as it requires header authentication.

The CSHARP XML WSDL is:

http://api.zxxds.net/?wsdl&csharp

The documentation for it is at http://api.zedo.com/doc/

I'm interested in doing simple operations such as getChannel, and createChannel

Any help would be greatly appreciated....
0
adworldmedia
Asked:
adworldmedia
2 Solutions
 
r3nderCommented:
Its just authentication - real simple
http://www.codeproject.com/KB/cpp/authforwebservices.aspx
Get channel is just
-------------------------------------------
public: static IChannel GetChannel( String name);
-------------------------------------------
CreateChannel() in code below



IChannelFactory<IRequestChannel> factory = binding.BuildChannelFactory<IRequestChannel>(bindingParams);
factory.Open();
EndpointAddress address = new EndpointAddress("http://localhost:8000/ChannelApp");
IRequestChannel channel = factory.CreateChannel(address);
channel.Open();

Open in new window

0
 
adworldmediaAuthor Commented:
Thanks for the replies, but neither of them really are helping me much...  I've attached a snippet of java code, that does what I want.  I would need it converted to Asp.net C#.. any one that can help, thanks in advance!
import com.zedo.zapi.*;
import com.zedo.zapi.ZEDOAPIStub.*;
import javax.xml.namespace.QName;
import org.apache.axis2.AxisFault;

public class GetChannelTest {

    public static void main(String[] args) {
        GetChannelTest.getChannelTest();
    }

    private static void getChannelTest() {
        
        try {
          
            ZEDOAPIStub stub = new ZEDOAPIStub("http://api.zedo.com/v3/?wsdl&java");

                stub._getServiceClient().addStringHeader(new QName("http://api.zedo.com", "user", "zedoapi"),     "example@example.com");
                stub._getServiceClient().addStringHeader(new QName("http://api.zedo.com", "password", "zedoapi"),     "password");
            stub._getServiceClient().addStringHeader(new QName("http://api.zedo.com", "network", "zedoapi"),  "525");
            stub._getServiceClient().getOptions().setTimeOutInMilliSeconds(10 * 60 * 1000);
            
            GetChannel gc = new GetChannel();
            gc.setParam0(123123);
            Thread.sleep(5000);
            Channel c = stub.getChannel(gc).get_return();
    
            System.out.println("GET_CHANNEL COMPLETE!");
            System.out.println("PLEASE: " + c.getId() + " " + c.getName());

        } catch (Exception e) {
            System.err.println("ERROR: GET_CHANNEL FAILED!");
            System.err.println("Exception: " + e.getMessage());
            if (e instanceof AxisFault) {
                AxisFault af = (AxisFault) e;
                System.err.println("AxisFault's detail: " + af.getDetail());
                af.printStackTrace();
            } else {
                e.printStackTrace();
            }
        }
    }
}

Open in new window

0

Featured Post

VIDEO: THE CONCERTO CLOUD FOR HEALTHCARE

Modern healthcare requires a modern cloud. View this brief video to understand how the Concerto Cloud for Healthcare can help your organization.

Tackle projects and never again get stuck behind a technical roadblock.
Join Now