views:

315

answers:

2

The application with webservice (C#) access works well on MAC (iphone simulator), but doesn't work on iphone (release and debug mode). It happens when I tryed to create a new webservice instance.

  "YNSMS.ynSMSws.Service1 wsSMS = new YNSMS.ynSMSws.Service1();"

Could it be a Monotouch iphone runtime bug ? Is there any way to solve it?

Loaded assembly: /private/var/mobile/Applications/47D2DA1C-28BA-43C8-BCF0-919D307C60EB/YNSMS.app/monotouch.dll Loaded assembly: /private/var/mobile/Applications/47D2DA1C-28BA-43C8-BCF0-919D307C60EB/YNSMS.app/Mono.Security.dll Loaded assembly: /private/var/mobile/Applications/47D2DA1C-28BA-43C8-BCF0-919D307C60EB/YNSMS.app/System.dll Loaded assembly: /private/var/mobile/Applications/47D2DA1C-28BA-43C8-BCF0-919D307C60EB/YNSMS.app/System.Xml.dll Loaded assembly: /private/var/mobile/Applications/47D2DA1C-28BA-43C8-BCF0-919D307C60EB/YNSMS.app/System.Web.Services.dll Loaded assembly: /private/var/mobile/Applications/47D2DA1C-28BA-43C8-BCF0-919D307C60EB/YNSMS.app/AddressBookExample.exe Thread started: Resolved pending breakpoint at 'MainView.xib.cs:70' to Void AddressBookExample.MainView:ExecutaBotao ():0. * Assertion at ../../../../mono/metadata/marshal.c:4115, condition `method' not met Stacktrace:

at (wrapper managed-to-native) System.MonoCustomAttrs.GetCustomAttributesInternal (System.Reflection.ICustomAttributeProvider,System.Type,bool) <0xffffffff> at System.MonoCustomAttrs.GetCustomAttributesBase (System.Reflection.ICustomAttributeProvider,System.Type) <0x0006c> at System.MonoCustomAttrs.GetCustomAttributes (System.Reflection.ICustomAttributeProvider,bool) <0x00037> at System.Reflection.MonoField.GetCustomAttributes (bool) <0x00023> at System.Xml.Serialization.XmlAttributes..ctor (System.Reflection.ICustomAttributeProvider) <0x0009f> at System.Xml.Serialization.XmlReflectionImporter.GetReflectionMembers (System.Type) <0x004ef> at System.Xml.Serialization.XmlReflectionImporter.ImportClassMapping (System.Xml.Serialization.TypeData,System.Xml.Serialization.XmlRootAttribute,string) <0x001df> at System.Xml.Serialization.XmlReflectionImporter.ImportTypeMapping (System.Xml.Serialization.TypeData,System.Xml.Serialization.XmlRootAttribute,string) <0x000e3> at System.Xml.Serialization.XmlReflectionImporter.ImportTypeMapping (System.Type,System.Xml.Serialization.XmlRootAttribute,string) <0x0005b> at System.Xml.Serialization.XmlReflectionImporter.ImportListMapping (System.Xml.Serialization.TypeData,System.Xml.Serialization.XmlRootAttribute,string,System.Xml.Serialization.XmlAttributes,int) <0x00743> at System.Xml.Serialization.XmlReflectionImporter.ImportListMapping (System.Type,System.Xml.Serialization.XmlRootAttribute,string,System.Xml.Serialization.XmlAttributes,int) <0x0005b> at System.Xml.Serialization.XmlReflectionImporter.CreateMapMember (System.Type,System.Xml.Serialization.XmlReflectionMember,string) <0x0093b> at System.Xml.Serialization.XmlReflectionImporter.ImportMembersMapping (string,string,System.Xml.Serialization.XmlReflectionMember[],bool,bool,bool,System.Xml.Serialization.XmlMappingAccess) <0x00097> at System.Xml.Serialization.XmlReflectionImporter.ImportMembersMapping (string,string,System.Xml.Serialization.XmlReflectionMember[],bool,bool,bool) <0x0006b> at System.Xml.Serialization.XmlReflectionImporter.ImportMembersMapping (string,string,System.Xml.Serialization.XmlReflectionMember[],bool,bool) <0x0005b> at System.Xml.Serialization.XmlReflectionImporter.ImportMembersMapping (string,string,System.Xml.Serialization.XmlReflectionMember[],bool) <0x0004b> at System.Web.Services.Protocols.SoapMethodStubInfo..ctor (System.Web.Services.Protocols.TypeStubInfo,System.Web.Services.Protocols.LogicalMethodInfo,object,System.Xml.Serialization.XmlReflectionImporter,System.Xml.Serialization.SoapReflectionImporter) <0x006bb> at System.Web.Services.Protocols.SoapTypeStubInfo.CreateMethodStubInfo (System.Web.Services.Protocols.TypeStubInfo,System.Web.Services.Protocols.LogicalMethodInfo,bool) <0x0016b> at System.Web.Services.Protocols.TypeStubInfo.BuildTypeMethods () <0x00127> at System.Web.Services.Protocols.TypeStubInfo.Initialize () <0x00023> at System.Web.Services.Protocols.LogicalTypeInfo.GetTypeStub (string) <0x00167> at System.Web.Services.Protocols.TypeStubManager.GetTypeStub (System.Type,string) <0x0002f> at System.Web.Services.Protocols.SoapHttpClientProtocol..ctor () <0x0003b> at YNSMS.ynSMSws.Service1..ctor () at AddressBookExample.MainView.ExecutaBotao (object,System.EventArgs) [0x00000] in /Volumes/STORAGE/cafexpto/Marcelo/sistemas_mac/MonoTouch/AddresBook/AddressBookExample/MainView.xib.cs:70 at MonoTouch.UIKit.UIBarButtonItem/Callback.Call (MonoTouch.Foundation.NSObject) <0x0005b> at (wrapper runtime-invoke) object.runtime_invoke_dynamic (intptr,intptr,intptr,intptr) <0x000c3> at (wrapper managed-to-native) MonoTouch.UIKit.UIApplication.UIApplicationMain (int,string[],intptr,intptr) <0xffffffff> at MonoTouch.UIKit.UIApplication.Main (string[],string,string) <0x000e0> at MonoTouch.UIKit.UIApplication.Main (string[]) <0x00023> at AddressBookExample.Application.Main (string[]) [0x00000] in /Volumes/STORAGE/cafexpto/Marcelo/sistemas_mac/MonoTouch/AddresBook/AddressBookExample/Main.cs:14 at (wrapper runtime-invoke) object.runtime_invoke_dynamic (intptr,intptr,intptr,intptr) <0x000c3>

Native stacktrace:

0   AddressBookExample                  0x0003ca58 mono_handle_native_sigsegv + 396
1   AddressBookExample                  0x0006c13c sigabrt_signal_handler + 124
2   libSystem.B.dylib                   0x31a2584b _sigtramp + 42
3   libSystem.B.dylib                   0x31a279a3 kill + 10
4   libSystem.B.dylib                   0x31a27995 raise + 16
5   libSystem.B.dylib                   0x31a3c641 abort + 40
6   AddressBookExample                  0x001b0a0c g_logv + 248
7   AddressBookExample                  0x001b0a64 g_log + 52
8   AddressBookExample                  0x000e5a5c mono_marshal_get_runtime_invoke + 108
9   AddressBookExample                  0x0000b41c mono_jit_runtime_invoke + 624
10  AddressBookExample                  0x0011f054 mono_property_set_value + 68
11  AddressBookExample                  0x001453e4 create_custom_attr + 1212
12  AddressBookExample                  0x0014610c mono_custom_attrs_construct + 408
13  AddressBookExample                  0x001479a0 mono_reflection_get_custom_attrs_by_type + 92
14  AddressBookExample                  0x000c82bc custom_attrs_get_by_type + 80
15  AddressBookExample                  0x004e8fd4 wrapper_managed_to_native_System_MonoCustomAttrs_GetCustomAttributesInternal_System_Reflection_ICustomAttributeProvider_System_Type_bool + 80

* Assertion: should not be reached at ../../../../mono/mini/mini-darwin.c:258

A: 

Has this been solved? I'm running into a similar problem and I've tried all the linker options to avoid it. I'm dead in the water on the device. Works fine in the simulator.

Unhandled Exception: System.MissingMethodException: Method not found: 'System.Xml.Serialization.XmlAttributeAttribute..ctor'. at System.MonoCustomAttrs.GetCustomAttributesBase (ICustomAttributeProvider obj, System.Type attributeType) [0x00000] in :0 at System.MonoCustomAttrs.GetCustomAttributes (ICustomAttributeProvider obj, Boolean inherit) [0x00000] in :0 at System.Reflection.MonoField.GetCustomAttributes (Boolean inherit) [0x00000] in :0 at System.Xml.Serialization.XmlAttributes..ctor (ICustomAttributeProvider provider) [0x00000] in :0 at System.Xml.Serialization.XmlReflectionImporter.GetReflectionMembers (System.Type type) [0x00000] in :0 at System.Xml.Serialization.XmlReflectionImporter.ImportClassMapping (System.Xml.Serialization.TypeData typeData, System.Xml.Serialization.XmlRootAttribute root, System.String defaultNamespace) [0x00000] in :0 at System.Xml.Serialization.XmlReflectionImporter.ImportTypeMapping (System.Xml.Serialization.TypeData typeData, System.Xml.Serialization.XmlRootAttribute root, System.String defaultNamespace) [0x00000] in :0 at System.Xml.Serialization.XmlReflectionImporter.ImportTypeMapping (System.Type type, System.Xml.Serialization.XmlRootAttribute root, System.String defaultNamespace) [0x00000] in :0 at System.Xml.Serialization.XmlReflectionImporter.ImportIncludedTypes (System.Type type, System.String defaultNamespace) [0x00000] in :0 at System.Xml.Serialization.XmlReflectionImporter.ImportClassMapping (System.Xml.Serialization.TypeData typeData, System.Xml.Serialization.XmlRootAttribute root, System.String defaultNamespace) [0x00000] in :0 at System.Xml.Serialization.XmlReflectionImporter.ImportTypeMapping (System.Xml.Serialization.TypeData typeData, System.Xml.Serialization.XmlRootAttribute root, System.String defaultNamespace) [0x00000] in :0 at System.Xml.Serialization.XmlReflectionImporter.ImportTypeMapping (System.Type type, System.Xml.Serialization.XmlRootAttribute root, System.String defaultNamespace) [0x00000] in :0 at System.Xml.Serialization.XmlReflectionImporter.ImportTypeMapping (System.Type type, System.String defaultNamespace) [0x00000] in :0 at System.Xml.Serialization.XmlReflectionImporter.ImportClassMapping (System.Xml.Serialization.TypeData typeData, System.Xml.Serialization.XmlRootAttribute root, System.String defaultNamespace) [0x00000] in :0 at System.Xml.Serialization.XmlReflectionImporter.ImportTypeMapping (System.Xml.Serialization.TypeData typeData, System.Xml.Serialization.XmlRootAttribute root, System.String defaultNamespace) [0x00000] in :0 at System.Xml.Serialization.XmlReflectionImporter.ImportTypeMapping (System.Type type, System.Xml.Serialization.XmlRootAttribute root, System.String defaultNamespace) [0x00000] in :0 at System.Xml.Serialization.XmlReflectionImporter.ImportXmlNodeMapping (System.Xml.Serialization.TypeData typeData, System.Xml.Serialization.XmlRootAttribute root, System.String defaultNamespace) [0x00000] in :0 at System.Xml.Serialization.XmlReflectionImporter.ImportTypeMapping (System.Xml.Serialization.TypeData typeData, System.Xml.Serialization.XmlRootAttribute root, System.String defaultNamespace) [0x00000] in :0 at System.Xml.Serialization.XmlReflectionImporter.ImportTypeMapping (System.Type type, System.Xml.Serialization.XmlRootAttribute root, System.String defaultNamespace) [0x00000] in :0 at System.Xml.Serialization.XmlReflectionImporter.ImportElementInfo (System.Type cls, System.String defaultName, System.String defaultNamespace, System.Type defaultType, System.Xml.Serialization.XmlTypeMapMemberElement member, System.Xml.Serialization.XmlAttributes atts) [0x00000] in :0 at System.Xml.Serialization.XmlReflectionImporter.CreateMapMember (System.Type declaringType, System.Xml.Serialization.XmlReflectionMember rmember, System.String defaultNamespace) [0x00000] in :0 at System.Xml.Serialization.XmlReflectionImporter.ImportMembersMapping (System.String elementName, System.String ns, System.Xml.Serialization.XmlReflectionMember[] members, Boolean hasWrapperElement, Boolean writeAccessors, Boolean validate, XmlMappingAccess access) [0x00000] in :0 at System.Xml.Serialization.XmlReflectionImporter.ImportMembersMapping (System.String elementName, System.String ns, System.Xml.Serialization.XmlReflectionMember[] members, Boolean hasWrapperElement, Boolean writeAccessors, Boolean validate) [0x00000] in :0 at System.Xml.Serialization.XmlReflectionImporter.ImportMembersMapping (System.String elementName, System.String ns, System.Xml.Serialization.XmlReflectionMember[] members, Boolean hasWrapperElement, Boolean writeAccessors) [0x00000] in :0 at System.Xml.Serialization.XmlReflectionImporter.ImportMembersMapping (System.String elementName, System.String ns, System.Xml.Serialization.XmlReflectionMember[] members, Boolean hasWrapperElement) [0x00000] in :0 at System.Web.Services.Protocols.SoapMethodStubInfo..ctor (System.Web.Services.Protocols.TypeStubInfo typeStub, System.Web.Services.Protocols.LogicalMethodInfo source, System.Object kind, System.Xml.Serialization.XmlReflectionImporter xmlImporter, System.Xml.Serialization.SoapReflectionImporter soapImporter) [0x00000] in :0 at System.Web.Services.Protocols.SoapTypeStubInfo.CreateMethodStubInfo (System.Web.Services.Protocols.TypeStubInfo parent, System.Web.Services.Protocols.LogicalMethodInfo lmi, Boolean isClientProxy) [0x00000] in :0 at System.Web.Services.Protocols.TypeStubInfo.BuildTypeMethods () [0x00000] in :0 at System.Web.Services.Protocols.TypeStubInfo.Initialize () [0x00000] in :0 at System.Web.Services.Protocols.LogicalTypeInfo.GetTypeStub (System.String protocolName) [0x00000] in :0 at System.Web.Services.Protocols.TypeStubManager.GetTypeStub (System.Type t, System.String protocolName) [0x00000] in :0 at System.Web.Services.Protocols.SoapHttpClientProtocol..ctor () [0x00000] in :0 at TrueChat.ChatServiceProxy.ChatClientServices..ctor () [0x00000] in :0

A: 

My guess is that this will have been something to do with the MonoTouch linker removing some of your XML fields - try adding the Preserve(AllMembers=true) attribute to the generated web service code.

Stuart