Rudewind
asked on
Asmx Web Service Request Content Type Error
I created an Asmx Web Service for online invoice solution. My web service is reciever and getting an error when a company tries to send me an invoice while I trace the web service. I created my web service by their wsdl with Visual Studio's Wsdl.exe
Here is my error:
Here is my asmx.cs file:
Here is my error:
Server found request content type to be 'multipart/related; type="application/xop+xml"; boundary="uuid:c40af87f-d64a-4d1c-a430-09328900731e"; start="<root.message@cxf.apache.org>"; start-info="application/soap+xml"; action="sendDocument"', but expected 'application/soap+xml'.
Here is my asmx.cs file:
using System;
using System.ComponentModel;
using System.Diagnostics;
using System.Text;
using System.Web;
using System.Web.Configuration;
using System.Web.Services;
using System.Web.Services.Protocols;
using System.Xml.Serialization;
//using EFaturaMaker.EFaturaService;
namespace PostboxWS
{
/// <remarks/>
[System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")]
[System.SerializableAttribute()]
[System.Diagnostics.DebuggerStepThroughAttribute()]
[System.ComponentModel.DesignerCategoryAttribute("code")]
[System.Xml.Serialization.XmlTypeAttribute(Namespace = "http://gib.gov.tr/vedop3/eFatura")]
public partial class getAppRespRequestType
{
private string instanceIdentifierField;
/// <remarks/>
[System.Xml.Serialization.XmlElementAttribute(Form = System.Xml.Schema.XmlSchemaForm.Unqualified)]
public string instanceIdentifier
{
get
{
return this.instanceIdentifierField;
}
set
{
this.instanceIdentifierField = value;
}
}
}
/// <remarks/>
[System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")]
[System.SerializableAttribute()]
[System.Diagnostics.DebuggerStepThroughAttribute()]
[System.ComponentModel.DesignerCategoryAttribute("code")]
[System.Xml.Serialization.XmlTypeAttribute(Namespace = "http://gib.gov.tr/vedop3/eFatura")]
public partial class documentReturnType
{
private string msgField;
private string hashField;
/// <remarks/>
[System.Xml.Serialization.XmlElementAttribute(Form = System.Xml.Schema.XmlSchemaForm.Unqualified)]
public string msg
{
get
{
return this.msgField;
}
set
{
this.msgField = value;
}
}
/// <remarks/>
[System.Xml.Serialization.XmlElementAttribute(Form = System.Xml.Schema.XmlSchemaForm.Unqualified)]
public string hash
{
get
{
return this.hashField;
}
set
{
this.hashField = value;
}
}
}
/// <remarks/>
[System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")]
[System.SerializableAttribute()]
[System.Diagnostics.DebuggerStepThroughAttribute()]
[System.ComponentModel.DesignerCategoryAttribute("code")]
[System.Xml.Serialization.XmlTypeAttribute(Namespace = "http://www.w3.org/2005/05/xmlmime")]
public partial class base64Binary
{
private string contentTypeField;
private byte[] valueField;
/// <remarks/>
[System.Xml.Serialization.XmlAttributeAttribute(Form = System.Xml.Schema.XmlSchemaForm.Qualified)]
public string contentType
{
get
{
return this.contentTypeField;
}
set
{
this.contentTypeField = value;
}
}
/// <remarks/>
[System.Xml.Serialization.XmlTextAttribute(DataType = "base64Binary")]
public byte[] Value
{
get
{
return this.valueField;
}
set
{
this.valueField = value;
}
}
}
/// <remarks/>
[System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")]
[System.SerializableAttribute()]
[System.Diagnostics.DebuggerStepThroughAttribute()]
[System.ComponentModel.DesignerCategoryAttribute("code")]
[System.Xml.Serialization.XmlTypeAttribute(Namespace = "http://gib.gov.tr/vedop3/eFatura")]
public partial class documentType
{
private string fileNameField;
private base64Binary binaryDataField;
private string hashField;
/// <remarks/>
[System.Xml.Serialization.XmlElementAttribute(Form = System.Xml.Schema.XmlSchemaForm.Unqualified)]
public string fileName
{
get
{
return this.fileNameField;
}
set
{
this.fileNameField = value;
}
}
/// <remarks/>
[System.Xml.Serialization.XmlElementAttribute(Form = System.Xml.Schema.XmlSchemaForm.Unqualified)]
public base64Binary binaryData
{
get
{
return this.binaryDataField;
}
set
{
this.binaryDataField = value;
}
}
/// <remarks/>
[System.Xml.Serialization.XmlElementAttribute(Form = System.Xml.Schema.XmlSchemaForm.Unqualified)]
public string hash
{
get
{
return this.hashField;
}
set
{
this.hashField = value;
}
}
}
/// <remarks/>
[System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")]
[System.SerializableAttribute()]
[System.Diagnostics.DebuggerStepThroughAttribute()]
[System.ComponentModel.DesignerCategoryAttribute("code")]
[System.Xml.Serialization.XmlTypeAttribute(Namespace = "http://gib.gov.tr/vedop3/eFatura")]
public partial class getAppRespResponseType
{
private string applicationResponseField;
/// <remarks/>
[System.Xml.Serialization.XmlElementAttribute(Form = System.Xml.Schema.XmlSchemaForm.Unqualified)]
public string applicationResponse
{
get
{
return this.applicationResponseField;
}
set
{
this.applicationResponseField = value;
}
}
}
/// <remarks/>
[System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")]
[System.Web.Services.WebServiceBindingAttribute(Name = "EFaturaSoapBinding", Namespace = "http://gib.gov.tr/vedop3/eFatura")]
public interface IEFaturaSoapBinding
{
/// <remarks/>
[System.Web.Services.WebMethodAttribute()]
[System.Web.Services.Protocols.SoapDocumentMethodAttribute("getApplicationResponse", Use = System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle = System.Web.Services.Protocols.SoapParameterStyle.Bare)]
[return: System.Xml.Serialization.XmlElementAttribute("getAppRespResponse", Namespace = "http://gib.gov.tr/vedop3/eFatura")]
getAppRespResponseType getApplicationResponse([System.Xml.Serialization.XmlElementAttribute(Namespace = "http://gib.gov.tr/vedop3/eFatura")] getAppRespRequestType getAppRespRequest);
/// <remarks/>
[System.Web.Services.WebMethodAttribute()]
[System.Web.Services.Protocols.SoapDocumentMethodAttribute("sendDocument", Use = System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle = System.Web.Services.Protocols.SoapParameterStyle.Bare)]
[return: System.Xml.Serialization.XmlElementAttribute("documentResponse", Namespace = "http://gib.gov.tr/vedop3/eFatura")]
documentReturnType sendDocument([System.Xml.Serialization.XmlElementAttribute(Namespace = "http://gib.gov.tr/vedop3/eFatura")] documentType documentRequest);
}
/// <summary>
/// Summary description for Postbox
/// </summary>
//[WebService(Namespace = "http://gib.gov.tr/vedop3/eFatura")]
//[SoapDocumentService(ParameterStyle = SoapParameterStyle.Wrapped)]
//[WebServiceBinding(Namespace = "http://gib.gov.tr/vedop3/eFatura")]
//[System.ComponentModel.ToolboxItem(false)]
// To allow this Web Service to be called from script, using ASP.NET AJAX, uncomment the following line.
// [System.Web.Script.Services.ScriptService]
[WebService(Namespace = "http://gib.gov.tr/vedop3/eFatura")]
public class Postbox : IEFaturaSoapBinding
{
[WebMethod]
public documentReturnType sendDocument(documentType documentRequest)
{
var dcRtrn = new documentReturnType();
try
{
string sSource;
string sLog;
string sEvent;
sSource = "sendDocument";
sLog = "Application";
sEvent = "sendDocument TEST EFATURA";
if (!EventLog.SourceExists(sSource))
EventLog.CreateEventSource(sSource, sLog);
EventLog.WriteEntry(sSource, sEvent);
EventLog.WriteEntry(sSource, sEvent,
EventLogEntryType.Warning, 234);
dcRtrn.hash = documentRequest.hash;
dcRtrn.msg = "BASARIYLA ISLENDI";
return dcRtrn;
if (documentRequest.binaryData != null)
{
string WCzipPath = WebConfigurationManager.AppSettings["RecieveBatPath"];
var rtrn = EFaturaMaker.ParseEnvelope.saveZipFile(documentRequest.binaryData.Value, documentRequest.fileName, WCzipPath);
if (rtrn != null)
{
dcRtrn.hash = documentRequest.hash;
dcRtrn.msg = rtrn;
return dcRtrn;
}
}
}
catch (Exception ex)
{
dcRtrn.msg = ex.Message;
return dcRtrn;
}
return dcRtrn;
}
[WebMethod]
public getAppRespResponseType getApplicationResponse(getAppRespRequestType getAppRespRequest)
{
string sSource;
string sLog;
string sEvent;
sSource = "getApplicationResponse";
sLog = "Application";
sEvent = "getApplicationResponse TEST EFATURA";
if (!EventLog.SourceExists(sSource))
EventLog.CreateEventSource(sSource, sLog);
EventLog.WriteEntry(sSource, sEvent);
EventLog.WriteEntry(sSource, sEvent,
EventLogEntryType.Warning, 234);
var rtn = new getAppRespResponseType();
rtn.applicationResponse = @"test1234567890";
return rtn;
}
}
}
ASKER
I tried it, didn't help, same problem... But web.config doesn't accept the code below:
<httpRuntime maxMessageLength="409600"
executionTimeoutInSeconds="300"/>
Did you place it under "System.web" like given below ?
<configuration>
<system.web>
<httpRuntime maxMessageLength="409600"
executionTimeoutInSeconds= "300"/>
</system.web>
</configuration>
<configuration>
<system.web>
<httpRuntime maxMessageLength="409600"
executionTimeoutInSeconds=
</system.web>
</configuration>
ASKER CERTIFIED SOLUTION
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
ASKER
Updated to WCF. That solved everything.
how did you solve the solution. can you share your code with us ? wcf service code and configuration ?
http://msdn.microsoft.com/en-us/library/aa528822.aspx