Omar Musallam
Omar Musallam

Reputation: 11

Unable to call web services

I have been received physical WSDL file to be used inside my C# Windows service project.

i replaced the file inside project folder and added from "Add Service Reference"

it was added to the project & i managed to create client object and call its classes but when i run the service the below error raised

    Could not find default endpoint element that references contract 'ABRECONService.ServiceIF' in the ServiceModel client configuration section. This might be because no configuration file was found for your application, or because no endpoint element matching this contract could be found in the client element.
   at System.ServiceModel.Description.ConfigLoader.LoadChannelBehaviors(ServiceEndpoint serviceEndpoint, String configurationName)
   at System.ServiceModel.ChannelFactory.ApplyConfiguration(String configurationName, Configuration configuration)
   at System.ServiceModel.ChannelFactory.ApplyConfiguration(String configurationName)
   at System.ServiceModel.ChannelFactory.InitializeEndpoint(String configurationName, EndpointAddress address)
   at System.ServiceModel.ChannelFactory`1..ctor(String endpointConfigurationName, EndpointAddress remoteAddress)
   at System.ServiceModel.EndpointTrait`1.CreateSimplexFactory()
   at System.ServiceModel.ClientBase`1.CreateChannelFactoryRef(EndpointTrait`1 endpointTrait)
   at System.ServiceModel.ClientBase`1.InitializeChannelFactoryRef()
   at System.ServiceModel.ClientBase`1..ctor()
   at sample.eZeePayService.DateExchangeServiceIFClient..ctor() in C:\Users\Hani\Documents\Visual Studio 2010\Projects\sample\sample\Service References\ABRECONService\Reference.cs:line 32
   at sample.ABRECONHandler.ABRECONCaller(String message) in C:\Users\Hani\Documents\Visual Studio 2010\Projects\sample\sample\ABRECONHandler.cs:line 15

and the app.config is

<?xml version="1.0"?>
<configuration>
  <configSections>
  </configSections>
  <appSettings>
  </appSettings>
  <system.net>
    <defaultProxy enabled="true" useDefaultCredentials="true"></defaultProxy>
  </system.net>
    <system.serviceModel>
        <bindings>
            <basicHttpBinding>
                <binding name="ServiceIFBinding" closeTimeout="00:01:00"
                    openTimeout="00:01:00" receiveTimeout="00:10:00" sendTimeout="00:01:00"
                    allowCookies="false" bypassProxyOnLocal="false" hostNameComparisonMode="StrongWildcard"
                    maxBufferSize="65536" maxBufferPoolSize="524288" maxReceivedMessageSize="65536"
                    messageEncoding="Text" textEncoding="utf-8" transferMode="Buffered"
                    useDefaultWebProxy="true">
                    <readerQuotas maxDepth="32" maxStringContentLength="8192" maxArrayLength="16384"
                        maxBytesPerRead="4096" maxNameTableCharCount="16384" />
                    <security mode="None">
                        <transport clientCredentialType="None" proxyCredentialType="None"
                            realm="" />
                        <message clientCredentialType="UserName" algorithmSuite="Default" />
                    </security>
                </binding>
            </basicHttpBinding>
        </bindings>
        <behaviors>
            <serviceBehaviors>
                <behavior name="ABRECON.MainBehavior">
                    <serviceMetadata httpGetEnabled="true"/>
                    <serviceDebug includeExceptionDetailInFaults="false"/>
                </behavior>
            </serviceBehaviors>
        </behaviors>
        <services>
            <service behaviorConfiguration="ABRECON.MainBehavior" name="ABRECON.Main">
                <endpoint address="" binding="wsHttpBinding" contract="ABRECON.IMain">
                    <identity>
                        <dns value="localhost"/>
                    </identity>
                </endpoint>
                <endpoint address="mex" binding="mexHttpBinding" contract="IMetadataExchange"/>
                <host>
                    <baseAddresses>
                        <add baseAddress="http://localhost:8732/Design_Time_Addresses/ABRECON/Main/"/>
                    </baseAddresses>
                </host>
            </service>
        </services>
    </system.serviceModel>
<startup><supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.0,Profile=Client"/></startup>
</configuration>

noting that web service provider is on different LAN am i missing something? Please advise urgenlt

Upvotes: 1

Views: 814

Answers (2)

Vinay Kumar.o
Vinay Kumar.o

Reputation: 336

Yes , As you said the the base address is pinpointing to the address in other LAN that is the reason you are not able to connect to it.

Upvotes: 0

Thorsten Dittmar
Thorsten Dittmar

Reputation: 56697

Simply creating the service classes from the WSDL file is not enough. You need to add information to your client's configuration file (app.config) that indicates how to access the service.


Instead of creating your service reference from the given WSDL file, you could try to directly point the service reference dialog to http://localhost:8732/Design_Time_Addresses/ABRECON/Main/ (the address of the MEX profile). Make sure the service is running.

That will add respective configuration entries automatically to your app.config if everything goes right.

Upvotes: 1

Related Questions